More cr.ui.FocusRow simplifications
[chromium-blink-merge.git] / ash / shell / shell_delegate_impl.h
blob255401a51ba5c1e9b82cbd8755b85921c2e578b0
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 bool IsForceMaximizeOnFirstRun() const override;
43 void PreInit() override;
44 void PreShutdown() override;
45 void Exit() override;
46 keyboard::KeyboardControllerProxy* CreateKeyboardControllerProxy() override;
47 void VirtualKeyboardActivated(bool activated) override;
48 void AddVirtualKeyboardStateObserver(
49 VirtualKeyboardStateObserver* observer) override;
50 void RemoveVirtualKeyboardStateObserver(
51 VirtualKeyboardStateObserver* observer) override;
52 content::BrowserContext* GetActiveBrowserContext() override;
53 app_list::AppListViewDelegate* GetAppListViewDelegate() override;
54 ShelfDelegate* CreateShelfDelegate(ShelfModel* model) override;
55 ash::SystemTrayDelegate* CreateSystemTrayDelegate() override;
56 ash::UserWallpaperDelegate* CreateUserWallpaperDelegate() override;
57 ash::SessionStateDelegate* CreateSessionStateDelegate() override;
58 ash::AccessibilityDelegate* CreateAccessibilityDelegate() override;
59 ash::NewWindowDelegate* CreateNewWindowDelegate() override;
60 ash::MediaDelegate* CreateMediaDelegate() override;
61 ui::MenuModel* CreateContextMenu(aura::Window* root_window,
62 ash::ShelfItemDelegate* item_delegate,
63 ash::ShelfItem* item) override;
64 GPUSupport* CreateGPUSupport() override;
65 base::string16 GetProductName() const override;
67 private:
68 // Used to update Launcher. Owned by main.
69 WindowWatcher* watcher_;
71 ShelfDelegateImpl* shelf_delegate_;
72 content::BrowserContext* browser_context_;
73 scoped_ptr<app_list::AppListViewDelegate> app_list_view_delegate_;
75 DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl);
78 } // namespace shell
79 } // namespace ash
81 #endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_