Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ash / test / shell_test_api.h
blob5afd594dc9af927634782b532c2d6f4161891201
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_SHELL_TEST_API_H_
6 #define ASH_TEST_SHELL_TEST_API_H_
8 #include "base/basictypes.h"
10 namespace ash {
11 class AppListController;
12 class AshNativeCursorManager;
13 class DragDropController;
14 class MaximizeModeWindowManager;
15 class RootWindowLayoutManager;
16 class SessionStateDelegate;
17 class ScreenPositionController;
18 class ShelfDelegate;
19 class ShelfModel;
20 class Shell;
21 class SystemGestureEventFilter;
22 class WorkspaceController;
24 namespace test {
26 // Accesses private data from a Shell for testing.
27 class ShellTestApi {
28 public:
29 explicit ShellTestApi(Shell* shell);
31 RootWindowLayoutManager* root_window_layout();
32 SystemGestureEventFilter* system_gesture_event_filter();
33 WorkspaceController* workspace_controller();
34 ScreenPositionController* screen_position_controller();
35 AshNativeCursorManager* ash_native_cursor_manager();
36 ShelfModel* shelf_model();
37 DragDropController* drag_drop_controller();
38 AppListController* app_list_controller();
39 MaximizeModeWindowManager* maximize_mode_window_manager();
40 void DisableDisplayConfiguratorAnimation();
42 // Set ShelfDelegate.
43 void SetShelfDelegate(ShelfDelegate* delegate);
45 // Set SessionStateDelegate.
46 void SetSessionStateDelegate(SessionStateDelegate* session_state_delegate);
48 private:
49 Shell* shell_; // not owned
51 DISALLOW_COPY_AND_ASSIGN(ShellTestApi);
54 } // namespace test
55 } // namespace ash
57 #endif // ASH_TEST_SHELL_TEST_API_H_