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"
14 class KeyboardControllerProxy;
20 class LauncherDelegateImpl;
23 class ShellDelegateImpl : public ash::ShellDelegate {
26 virtual ~ShellDelegateImpl();
28 void SetWatcher(WindowWatcher* watcher);
30 virtual bool IsFirstRunAfterBoot() const OVERRIDE;
31 virtual bool IsIncognitoAllowed() const OVERRIDE;
32 virtual bool IsMultiProfilesEnabled() const OVERRIDE;
33 virtual bool IsRunningInForcedAppMode() const OVERRIDE;
34 virtual void PreInit() OVERRIDE;
35 virtual void Shutdown() OVERRIDE;
36 virtual void Exit() OVERRIDE;
37 virtual keyboard::KeyboardControllerProxy*
38 CreateKeyboardControllerProxy() OVERRIDE;
39 virtual content::BrowserContext* GetCurrentBrowserContext() OVERRIDE;
40 virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
41 virtual ash::LauncherDelegate* CreateLauncherDelegate(
42 ash::LauncherModel* model) OVERRIDE;
43 virtual ash::SystemTrayDelegate* CreateSystemTrayDelegate() OVERRIDE;
44 virtual ash::UserWallpaperDelegate* CreateUserWallpaperDelegate() OVERRIDE;
45 virtual ash::CapsLockDelegate* CreateCapsLockDelegate() OVERRIDE;
46 virtual ash::SessionStateDelegate* CreateSessionStateDelegate() OVERRIDE;
47 virtual ash::AccessibilityDelegate* CreateAccessibilityDelegate() OVERRIDE;
48 virtual ash::NewWindowDelegate* CreateNewWindowDelegate() OVERRIDE;
49 virtual ash::MediaDelegate* CreateMediaDelegate() OVERRIDE;
50 virtual aura::client::UserActionClient* CreateUserActionClient() OVERRIDE;
51 virtual void RecordUserMetricsAction(UserMetricsAction action) OVERRIDE;
52 virtual ui::MenuModel* CreateContextMenu(
53 aura::Window* root_window) OVERRIDE;
54 virtual RootWindowHostFactory* CreateRootWindowHostFactory() OVERRIDE;
55 virtual base::string16 GetProductName() const OVERRIDE;
58 // Used to update Launcher. Owned by main.
59 WindowWatcher* watcher_;
61 LauncherDelegateImpl* launcher_delegate_;
63 DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl);
69 #endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_