Home | History | Annotate | Download | only in ash
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef ASH_NEW_WINDOW_DELEGATE_H_
      6 #define ASH_NEW_WINDOW_DELEGATE_H_
      7 
      8 namespace ash {
      9 
     10 // A delegate class to create or open windows that are not a part of
     11 // ash.
     12 class NewWindowDelegate {
     13  public:
     14   virtual ~NewWindowDelegate() {}
     15 
     16   // Invoked when the user uses Ctrl+T to open a new tab.
     17   virtual void NewTab() = 0;
     18 
     19   // Invoked when the user uses Ctrl-N or Ctrl-Shift-N to open a new window.
     20   virtual void NewWindow(bool incognito) = 0;
     21 
     22   // Invoked when an accelerator is used to open the file manager.
     23   virtual void OpenFileManager() = 0;
     24 
     25   // Invoked when the user opens Crosh.
     26   virtual void OpenCrosh() = 0;
     27 
     28   // Invoked when the user uses Shift+Ctrl+T to restore the closed tab.
     29   virtual void RestoreTab() = 0;
     30 
     31   // Shows the keyboard shortcut overlay.
     32   virtual void ShowKeyboardOverlay() = 0;
     33 
     34   // Shows the task manager window.
     35   virtual void ShowTaskManager() = 0;
     36 
     37   // Opens the feedback page for "Report Issue".
     38   virtual void OpenFeedbackPage() = 0;
     39 };
     40 
     41 }  // namespace ash
     42 
     43 #endif  // ASH_NEW_WINDOW_DELEGATE_H_
     44