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.
5 #ifndef ASH_SHELL_SHELL_DELEGATE_IMPL_H_
6 #define ASH_SHELL_SHELL_DELEGATE_IMPL_H_
10 #include "ash/shell_delegate.h"
11 #include "base/compiler_specific.h"
18 class KeyboardControllerProxy
;
24 class ShelfDelegateImpl
;
27 class ShellDelegateImpl
: public ash::ShellDelegate
{
30 ~ShellDelegateImpl() override
;
32 void SetWatcher(WindowWatcher
* watcher
);
33 void set_browser_context(content::BrowserContext
* browser_context
) {
34 browser_context_
= browser_context
;
37 bool IsFirstRunAfterBoot() const override
;
38 bool IsIncognitoAllowed() const override
;
39 bool IsMultiProfilesEnabled() const override
;
40 bool IsRunningInForcedAppMode() const override
;
41 bool IsMultiAccountEnabled() const override
;
42 void PreInit() override
;
43 void PreShutdown() override
;
45 keyboard::KeyboardControllerProxy
* CreateKeyboardControllerProxy() override
;
46 void VirtualKeyboardActivated(bool activated
) override
;
47 void AddVirtualKeyboardStateObserver(
48 VirtualKeyboardStateObserver
* observer
) override
;
49 void RemoveVirtualKeyboardStateObserver(
50 VirtualKeyboardStateObserver
* observer
) override
;
51 content::BrowserContext
* GetActiveBrowserContext() override
;
52 app_list::AppListViewDelegate
* GetAppListViewDelegate() override
;
53 ShelfDelegate
* CreateShelfDelegate(ShelfModel
* model
) override
;
54 ash::SystemTrayDelegate
* CreateSystemTrayDelegate() override
;
55 ash::UserWallpaperDelegate
* CreateUserWallpaperDelegate() override
;
56 ash::SessionStateDelegate
* CreateSessionStateDelegate() override
;
57 ash::AccessibilityDelegate
* CreateAccessibilityDelegate() override
;
58 ash::NewWindowDelegate
* CreateNewWindowDelegate() override
;
59 ash::MediaDelegate
* CreateMediaDelegate() override
;
60 ui::MenuModel
* CreateContextMenu(aura::Window
* root_window
,
61 ash::ShelfItemDelegate
* item_delegate
,
62 ash::ShelfItem
* item
) override
;
63 GPUSupport
* CreateGPUSupport() override
;
64 base::string16
GetProductName() const override
;
67 // Used to update Launcher. Owned by main.
68 WindowWatcher
* watcher_
;
70 ShelfDelegateImpl
* shelf_delegate_
;
71 content::BrowserContext
* browser_context_
;
72 scoped_ptr
<app_list::AppListViewDelegate
> app_list_view_delegate_
;
74 DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl
);
80 #endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_