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_TEST_TEST_SHELL_DELEGATE_H_
6 #define ASH_TEST_TEST_SHELL_DELEGATE_H_
10 #include "ash/media_delegate.h"
11 #include "ash/shell_delegate.h"
12 #include "base/compiler_specific.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "base/observer_list.h"
17 class KeyboardControllerProxy;
23 class TestSessionStateDelegate;
25 class TestShellDelegate : public ShellDelegate {
28 virtual ~TestShellDelegate();
30 void set_multi_profiles_enabled(bool multi_profiles_enabled) {
31 multi_profiles_enabled_ = multi_profiles_enabled;
34 // Overridden from ShellDelegate:
35 virtual bool IsFirstRunAfterBoot() const OVERRIDE;
36 virtual bool IsIncognitoAllowed() const OVERRIDE;
37 virtual bool IsMultiProfilesEnabled() const OVERRIDE;
38 virtual bool IsRunningInForcedAppMode() const OVERRIDE;
39 virtual bool IsMultiAccountEnabled() const OVERRIDE;
40 virtual void PreInit() OVERRIDE;
41 virtual void PreShutdown() OVERRIDE;
42 virtual void Exit() OVERRIDE;
43 virtual keyboard::KeyboardControllerProxy*
44 CreateKeyboardControllerProxy() OVERRIDE;
45 virtual void VirtualKeyboardActivated(bool activated) OVERRIDE;
46 virtual void AddVirtualKeyboardStateObserver(
47 VirtualKeyboardStateObserver* observer) OVERRIDE;
48 virtual void RemoveVirtualKeyboardStateObserver(
49 VirtualKeyboardStateObserver* observer) OVERRIDE;
50 virtual content::BrowserContext* GetActiveBrowserContext() OVERRIDE;
51 virtual app_list::AppListViewDelegate* GetAppListViewDelegate() OVERRIDE;
52 virtual ShelfDelegate* CreateShelfDelegate(ShelfModel* model) OVERRIDE;
53 virtual SystemTrayDelegate* CreateSystemTrayDelegate() OVERRIDE;
54 virtual UserWallpaperDelegate* CreateUserWallpaperDelegate() OVERRIDE;
55 virtual SessionStateDelegate* CreateSessionStateDelegate() OVERRIDE;
56 virtual AccessibilityDelegate* CreateAccessibilityDelegate() OVERRIDE;
57 virtual NewWindowDelegate* CreateNewWindowDelegate() OVERRIDE;
58 virtual MediaDelegate* CreateMediaDelegate() OVERRIDE;
59 virtual ui::MenuModel* CreateContextMenu(
61 ash::ShelfItemDelegate* item_delegate,
62 ash::ShelfItem* item) OVERRIDE;
63 virtual GPUSupport* CreateGPUSupport() OVERRIDE;
64 virtual base::string16 GetProductName() const OVERRIDE;
66 int num_exit_requests() const { return num_exit_requests_; }
68 TestSessionStateDelegate* test_session_state_delegate() {
69 return test_session_state_delegate_;
72 void SetMediaCaptureState(MediaCaptureState state);
75 int num_exit_requests_;
76 bool multi_profiles_enabled_;
78 scoped_ptr<content::BrowserContext> active_browser_context_;
79 scoped_ptr<app_list::AppListViewDelegate> app_list_view_delegate_;
81 ObserverList<ash::VirtualKeyboardStateObserver> keyboard_state_observer_list_;
83 TestSessionStateDelegate* test_session_state_delegate_; // Not owned.
85 DISALLOW_COPY_AND_ASSIGN(TestShellDelegate);
91 #endif // ASH_TEST_TEST_SHELL_DELEGATE_H_