• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_
7 
8 #include <string>
9 
10 #include "ash/shell_delegate.h"
11 #include "base/compiler_specific.h"
12 
13 namespace content {
14 class BrowserContext;
15 }
16 
17 namespace keyboard {
18 class KeyboardControllerProxy;
19 }
20 
21 namespace ash {
22 namespace shell {
23 
24 class ShelfDelegateImpl;
25 class WindowWatcher;
26 
27 class ShellDelegateImpl : public ash::ShellDelegate {
28  public:
29   ShellDelegateImpl();
30   virtual ~ShellDelegateImpl();
31 
32   void SetWatcher(WindowWatcher* watcher);
set_browser_context(content::BrowserContext * browser_context)33   void set_browser_context(content::BrowserContext* browser_context) {
34     browser_context_ = browser_context;
35   }
36 
37   virtual bool IsFirstRunAfterBoot() const OVERRIDE;
38   virtual bool IsIncognitoAllowed() const OVERRIDE;
39   virtual bool IsMultiProfilesEnabled() const OVERRIDE;
40   virtual bool IsRunningInForcedAppMode() const OVERRIDE;
41   virtual bool IsMultiAccountEnabled() const OVERRIDE;
42   virtual void PreInit() OVERRIDE;
43   virtual void PreShutdown() OVERRIDE;
44   virtual void Exit() OVERRIDE;
45   virtual keyboard::KeyboardControllerProxy*
46       CreateKeyboardControllerProxy() OVERRIDE;
47   virtual void VirtualKeyboardActivated(bool activated) OVERRIDE;
48   virtual void AddVirtualKeyboardStateObserver(
49       VirtualKeyboardStateObserver* observer) OVERRIDE;
50   virtual void RemoveVirtualKeyboardStateObserver(
51       VirtualKeyboardStateObserver* observer) OVERRIDE;
52   virtual content::BrowserContext* GetActiveBrowserContext() OVERRIDE;
53   virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
54   virtual ShelfDelegate* CreateShelfDelegate(ShelfModel* model) OVERRIDE;
55   virtual ash::SystemTrayDelegate* CreateSystemTrayDelegate() OVERRIDE;
56   virtual ash::UserWallpaperDelegate* CreateUserWallpaperDelegate() OVERRIDE;
57   virtual ash::SessionStateDelegate* CreateSessionStateDelegate() OVERRIDE;
58   virtual ash::AccessibilityDelegate* CreateAccessibilityDelegate() OVERRIDE;
59   virtual ash::NewWindowDelegate* CreateNewWindowDelegate() OVERRIDE;
60   virtual ash::MediaDelegate* CreateMediaDelegate() OVERRIDE;
61   virtual ui::MenuModel* CreateContextMenu(
62       aura::Window* root_window,
63       ash::ShelfItemDelegate* item_delegate,
64       ash::ShelfItem* item) OVERRIDE;
65   virtual GPUSupport* CreateGPUSupport() OVERRIDE;
66   virtual base::string16 GetProductName() const OVERRIDE;
67 
68  private:
69   // Used to update Launcher. Owned by main.
70   WindowWatcher* watcher_;
71 
72   ShelfDelegateImpl* shelf_delegate_;
73   content::BrowserContext* browser_context_;
74 
75   DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl);
76 };
77 
78 }  // namespace shell
79 }  // namespace ash
80 
81 #endif  // ASH_SHELL_SHELL_DELEGATE_IMPL_H_
82