Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(669)

Side by Side Diff: ash/shell_delegate.h

Issue 2734733002: Revert "chromeos: Move files in //ash/common to //ash, part 3" (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/shell/window_watcher.cc ('k') | ash/shell_observer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 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_SHELL_DELEGATE_H_
6 #define ASH_SHELL_DELEGATE_H_
7
8 #include <memory>
9 #include <string>
10
11 #include "ash/ash_export.h"
12 #include "base/callback.h"
13 #include "base/strings/string16.h"
14
15 class GURL;
16
17 namespace gfx {
18 class Image;
19 }
20
21 namespace keyboard {
22 class KeyboardUI;
23 }
24
25 namespace service_manager {
26 class Connector;
27 }
28
29 namespace ui {
30 class MenuModel;
31 }
32
33 namespace ash {
34
35 class AccessibilityDelegate;
36 class GPUSupport;
37 class PaletteDelegate;
38 class SessionStateDelegate;
39 class ShelfDelegate;
40 class ShelfModel;
41 class SystemTrayDelegate;
42 struct ShelfItem;
43 class WallpaperDelegate;
44 class WmShelf;
45 class WmWindow;
46
47 // Delegate of the Shell.
48 class ASH_EXPORT ShellDelegate {
49 public:
50 // The Shell owns the delegate.
51 virtual ~ShellDelegate() {}
52
53 // Returns the connector for the mojo service manager. Returns null in tests.
54 virtual service_manager::Connector* GetShellConnector() const = 0;
55
56 // Returns true if multi-profiles feature is enabled.
57 virtual bool IsMultiProfilesEnabled() const = 0;
58
59 // Returns true if incognito mode is allowed for the user.
60 // Incognito windows are restricted for supervised users.
61 virtual bool IsIncognitoAllowed() const = 0;
62
63 // Returns true if we're running in forced app mode.
64 virtual bool IsRunningInForcedAppMode() const = 0;
65
66 // Returns true if |window| can be shown for the delegate's concept of current
67 // user.
68 virtual bool CanShowWindowForUser(WmWindow* window) const = 0;
69
70 // Returns true if the first window shown on first run should be
71 // unconditionally maximized, overriding the heuristic that normally chooses
72 // the window size.
73 virtual bool IsForceMaximizeOnFirstRun() const = 0;
74
75 // Called before processing |Shell::Init()| so that the delegate
76 // can perform tasks necessary before the shell is initialized.
77 virtual void PreInit() = 0;
78
79 // Called at the beginninig of Shell destructor so that
80 // delegate can use Shell instance to perform cleanup tasks.
81 virtual void PreShutdown() = 0;
82
83 // Invoked when the user uses Ctrl-Shift-Q to close chrome.
84 virtual void Exit() = 0;
85
86 // Create a shell-specific keyboard::KeyboardUI
87 virtual keyboard::KeyboardUI* CreateKeyboardUI() = 0;
88
89 // Opens the |url| in a new browser tab.
90 virtual void OpenUrlFromArc(const GURL& url) = 0;
91
92 // Creates a new ShelfDelegate. Shell takes ownership of the returned value.
93 virtual ShelfDelegate* CreateShelfDelegate(ShelfModel* model) = 0;
94
95 // Creates a system-tray delegate. Shell takes ownership of the delegate.
96 virtual SystemTrayDelegate* CreateSystemTrayDelegate() = 0;
97
98 // Creates a wallpaper delegate. Shell takes ownership of the delegate.
99 virtual std::unique_ptr<WallpaperDelegate> CreateWallpaperDelegate() = 0;
100
101 // Creates a session state delegate. Shell takes ownership of the delegate.
102 virtual SessionStateDelegate* CreateSessionStateDelegate() = 0;
103
104 // Creates a accessibility delegate. Shell takes ownership of the delegate.
105 virtual AccessibilityDelegate* CreateAccessibilityDelegate() = 0;
106
107 virtual std::unique_ptr<PaletteDelegate> CreatePaletteDelegate() = 0;
108
109 // Creates a menu model for the |wm_shelf| and optional shelf |item|.
110 // If |item| is null, this creates a context menu for the wallpaper or shelf.
111 virtual ui::MenuModel* CreateContextMenu(WmShelf* wm_shelf,
112 const ShelfItem* item) = 0;
113
114 // Creates a GPU support object. Shell takes ownership of the object.
115 virtual GPUSupport* CreateGPUSupport() = 0;
116
117 // Get the product name.
118 virtual base::string16 GetProductName() const = 0;
119
120 virtual void OpenKeyboardShortcutHelpPage() const {}
121
122 virtual gfx::Image GetDeprecatedAcceleratorImage() const = 0;
123
124 // If |use_local_state| is true, returns the touchscreen status from local
125 // state, otherwise from user prefs.
126 virtual bool IsTouchscreenEnabledInPrefs(bool use_local_state) const = 0;
127
128 // Sets the status of touchscreen to |enabled| in prefs. If |use_local_state|,
129 // pref is set in local state, otherwise in user prefs.
130 virtual void SetTouchscreenEnabledInPrefs(bool enabled,
131 bool use_local_state) = 0;
132
133 // Updates the enabled/disabled status of the touchscreen from prefs. Enabled
134 // if both local state and user prefs are enabled, otherwise disabled.
135 virtual void UpdateTouchscreenStatusFromPrefs() = 0;
136
137 // Toggles the status of touchpad between enabled and disabled.
138 virtual void ToggleTouchpad() {}
139 };
140
141 } // namespace ash
142
143 #endif // ASH_SHELL_DELEGATE_H_
OLDNEW
« no previous file with comments | « ash/shell/window_watcher.cc ('k') | ash/shell_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698