Replacing old devtools pillar page with newer one
[chromium-blink-merge.git] / ash / test / shell_test_api.h
blob269eb784595bf799a41084d53da7b8635e084702
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 views {
11 namespace corewm {
12 class InputMethodEventFilter;
13 } // namespace corewm
14 } // namespace views
16 namespace ash {
17 class AshNativeCursorManager;
18 class ShelfDelegate;
19 class ShelfModel;
20 class Shell;
22 namespace internal {
23 class AppListController;
24 class DragDropController;
25 class RootWindowLayoutManager;
26 class ScreenPositionController;
27 class SystemGestureEventFilter;
28 class WorkspaceController;
29 } // namespace internal
31 namespace test {
33 // Accesses private data from a Shell for testing.
34 class ShellTestApi {
35 public:
36 explicit ShellTestApi(Shell* shell);
38 internal::RootWindowLayoutManager* root_window_layout();
39 views::corewm::InputMethodEventFilter* input_method_event_filter();
40 internal::SystemGestureEventFilter* system_gesture_event_filter();
41 internal::WorkspaceController* workspace_controller();
42 internal::ScreenPositionController* screen_position_controller();
43 AshNativeCursorManager* ash_native_cursor_manager();
44 ShelfModel* shelf_model();
45 internal::DragDropController* drag_drop_controller();
46 internal::AppListController* app_list_controller();
48 void DisableOutputConfiguratorAnimation();
50 // Set ShelfDelegate.
51 void SetShelfDelegate(ShelfDelegate* delegate);
53 private:
54 Shell* shell_; // not owned
56 DISALLOW_COPY_AND_ASSIGN(ShellTestApi);
59 } // namespace test
60 } // namespace ash
62 #endif // ASH_TEST_SHELL_TEST_API_H_