Put WeakPtrFactory member last in USBEventRouter
[chromium-blink-merge.git] / ash / shell / shell_delegate_impl.h
blob502161de2f67f8758be5f125263afa05df648eb7
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_
8 #include <string>
10 #include "ash/shell_delegate.h"
11 #include "base/compiler_specific.h"
13 namespace content {
14 class BrowserContext;
17 namespace keyboard {
18 class KeyboardControllerProxy;
21 namespace ash {
22 namespace shell {
24 class ShelfDelegateImpl;
25 class WindowWatcher;
27 class ShellDelegateImpl : public ash::ShellDelegate {
28 public:
29 ShellDelegateImpl();
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;
44 void Exit() 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;
66 private:
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);
77 } // namespace shell
78 } // namespace ash
80 #endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_