[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 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_SHELL_DELEGATE_IMPL_H_ | ||||
6 | #define ASH_SHELL_SHELL_DELEGATE_IMPL_H_ | ||||
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 7 | |
dcheng | a9454747 | 2016-04-08 08:41:11 | [diff] [blame] | 8 | #include <memory> |
[email protected] | 565f32fc0 | 2013-03-05 18:51:48 | [diff] [blame] | 9 | #include <string> |
10 | |||||
msw | 0414d412 | 2016-07-06 22:58:48 | [diff] [blame^] | 11 | #include "ash/common/shell_delegate.h" |
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 12 | #include "base/compiler_specific.h" |
avi | db567a8a | 2015-12-20 17:07:24 | [diff] [blame] | 13 | #include "base/macros.h" |
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 14 | |
mfomitchev | 493ed60 | 2016-04-09 00:48:39 | [diff] [blame] | 15 | namespace app_list { |
mfomitchev | da899d8 | 2016-04-15 22:20:37 | [diff] [blame] | 16 | class AppListPresenterDelegateFactory; |
17 | class AppListPresenterImpl; | ||||
mfomitchev | 493ed60 | 2016-04-09 00:48:39 | [diff] [blame] | 18 | } |
19 | |||||
[email protected] | 86459e2c | 2013-04-10 13:39:24 | [diff] [blame] | 20 | namespace keyboard { |
ben | 974286a | 2015-10-10 00:45:12 | [diff] [blame] | 21 | class KeyboardUI; |
[email protected] | 86459e2c | 2013-04-10 13:39:24 | [diff] [blame] | 22 | } |
23 | |||||
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 24 | namespace ash { |
25 | namespace shell { | ||||
26 | |||||
[email protected] | 8b57e94 | 2013-12-09 19:39:20 | [diff] [blame] | 27 | class ShelfDelegateImpl; |
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 28 | |
msw | 0414d412 | 2016-07-06 22:58:48 | [diff] [blame^] | 29 | class ShellDelegateImpl : public ShellDelegate { |
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 30 | public: |
31 | ShellDelegateImpl(); | ||||
dcheng | f596351 | 2014-10-28 01:14:13 | [diff] [blame] | 32 | ~ShellDelegateImpl() override; |
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 33 | |
dcheng | f596351 | 2014-10-28 01:14:13 | [diff] [blame] | 34 | bool IsFirstRunAfterBoot() const override; |
35 | bool IsIncognitoAllowed() const override; | ||||
36 | bool IsMultiProfilesEnabled() const override; | ||||
37 | bool IsRunningInForcedAppMode() const override; | ||||
jamescook | fd4ba1d | 2016-06-10 04:38:17 | [diff] [blame] | 38 | bool CanShowWindowForUser(WmWindow* window) const override; |
peletskyi | da0bbb1 | 2015-04-08 17:11:04 | [diff] [blame] | 39 | bool IsForceMaximizeOnFirstRun() const override; |
dcheng | f596351 | 2014-10-28 01:14:13 | [diff] [blame] | 40 | void PreInit() override; |
41 | void PreShutdown() override; | ||||
42 | void Exit() override; | ||||
ben | 974286a | 2015-10-10 00:45:12 | [diff] [blame] | 43 | keyboard::KeyboardUI* CreateKeyboardUI() override; |
dcheng | f596351 | 2014-10-28 01:14:13 | [diff] [blame] | 44 | void VirtualKeyboardActivated(bool activated) override; |
45 | void AddVirtualKeyboardStateObserver( | ||||
mostynb | 10d6b38 | 2014-10-03 16:23:45 | [diff] [blame] | 46 | VirtualKeyboardStateObserver* observer) override; |
dcheng | f596351 | 2014-10-28 01:14:13 | [diff] [blame] | 47 | void RemoveVirtualKeyboardStateObserver( |
mostynb | 10d6b38 | 2014-10-03 16:23:45 | [diff] [blame] | 48 | VirtualKeyboardStateObserver* observer) override; |
yusukes | 0b08bdbb | 2016-03-30 21:39:54 | [diff] [blame] | 49 | void OpenUrl(const GURL& url) override; |
mfomitchev | da899d8 | 2016-04-15 22:20:37 | [diff] [blame] | 50 | app_list::AppListPresenter* GetAppListPresenter() override; |
dcheng | f596351 | 2014-10-28 01:14:13 | [diff] [blame] | 51 | ShelfDelegate* CreateShelfDelegate(ShelfModel* model) override; |
msw | 0414d412 | 2016-07-06 22:58:48 | [diff] [blame^] | 52 | SystemTrayDelegate* CreateSystemTrayDelegate() override; |
53 | UserWallpaperDelegate* CreateUserWallpaperDelegate() override; | ||||
54 | SessionStateDelegate* CreateSessionStateDelegate() override; | ||||
55 | AccessibilityDelegate* CreateAccessibilityDelegate() override; | ||||
56 | NewWindowDelegate* CreateNewWindowDelegate() override; | ||||
57 | MediaDelegate* CreateMediaDelegate() override; | ||||
jamescook | 214fcbde | 2016-04-28 01:16:06 | [diff] [blame] | 58 | std::unique_ptr<PointerWatcherDelegate> CreatePointerWatcherDelegate() |
59 | override; | ||||
jamescook | da53c14 | 2016-06-08 23:38:56 | [diff] [blame] | 60 | ui::MenuModel* CreateContextMenu(WmShelf* wm_shelf, |
61 | const ShelfItem* item) override; | ||||
dcheng | f596351 | 2014-10-28 01:14:13 | [diff] [blame] | 62 | GPUSupport* CreateGPUSupport() override; |
63 | base::string16 GetProductName() const override; | ||||
afakhry | cd2bb98d | 2015-09-09 09:03:42 | [diff] [blame] | 64 | gfx::Image GetDeprecatedAcceleratorImage() const override; |
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 65 | |
66 | private: | ||||
[email protected] | 8b57e94 | 2013-12-09 19:39:20 | [diff] [blame] | 67 | ShelfDelegateImpl* shelf_delegate_; |
mfomitchev | da899d8 | 2016-04-15 22:20:37 | [diff] [blame] | 68 | std::unique_ptr<app_list::AppListPresenterDelegateFactory> |
69 | app_list_presenter_delegate_factory_; | ||||
70 | std::unique_ptr<app_list::AppListPresenterImpl> app_list_presenter_; | ||||
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 71 | |
[email protected] | 262f8bd | 2012-03-23 19:30:27 | [diff] [blame] | 72 | DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl); |
73 | }; | ||||
74 | |||||
75 | } // namespace shell | ||||
76 | } // namespace ash | ||||
77 | |||||
78 | #endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_ |