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
8namespace ash {
9
10// A delegate class to create or open windows that are not a part of
11// ash.
12class 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