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 virtual ~ShellDelegateImpl();
32 void SetWatcher(WindowWatcher
* watcher
);
33 void set_browser_context(content::BrowserContext
* browser_context
) {
34 browser_context_
= browser_context
;
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 void PreInit() OVERRIDE
;
42 virtual void Shutdown() OVERRIDE
;
43 virtual void Exit() OVERRIDE
;
44 virtual keyboard::KeyboardControllerProxy
*
45 CreateKeyboardControllerProxy() OVERRIDE
;
46 virtual content::BrowserContext
* GetActiveBrowserContext() OVERRIDE
;
47 virtual app_list::AppListViewDelegate
* CreateAppListViewDelegate() OVERRIDE
;
48 virtual ShelfDelegate
* CreateShelfDelegate(ShelfModel
* model
) OVERRIDE
;
49 virtual ash::SystemTrayDelegate
* CreateSystemTrayDelegate() OVERRIDE
;
50 virtual ash::UserWallpaperDelegate
* CreateUserWallpaperDelegate() OVERRIDE
;
51 virtual ash::CapsLockDelegate
* CreateCapsLockDelegate() OVERRIDE
;
52 virtual ash::SessionStateDelegate
* CreateSessionStateDelegate() OVERRIDE
;
53 virtual ash::AccessibilityDelegate
* CreateAccessibilityDelegate() OVERRIDE
;
54 virtual ash::NewWindowDelegate
* CreateNewWindowDelegate() OVERRIDE
;
55 virtual ash::MediaDelegate
* CreateMediaDelegate() OVERRIDE
;
56 virtual aura::client::UserActionClient
* CreateUserActionClient() OVERRIDE
;
57 virtual ui::MenuModel
* CreateContextMenu(
58 aura::Window
* root_window
,
59 ash::ShelfItemDelegate
* item_delegate
,
60 ash::LauncherItem
* item
) OVERRIDE
;
61 virtual WindowTreeHostFactory
* CreateWindowTreeHostFactory() OVERRIDE
;
62 virtual base::string16
GetProductName() const OVERRIDE
;
65 // Used to update Launcher. Owned by main.
66 WindowWatcher
* watcher_
;
68 ShelfDelegateImpl
* shelf_delegate_
;
69 content::BrowserContext
* browser_context_
;
71 DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl
);
77 #endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_