Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ash / test / shell_test_api.h
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.
4
5 #ifndef ASH_TEST_SHELL_TEST_API_H_
6 #define ASH_TEST_SHELL_TEST_API_H_
7
8 #include "base/basictypes.h"
9
10 namespace wm {
11 class InputMethodEventFilter;
12 }  // namespace wm
13
14 namespace ash {
15 class AppListController;
16 class AshNativeCursorManager;
17 class DragDropController;
18 class MaximizeModeWindowManager;
19 class RootWindowLayoutManager;
20 class ScreenPositionController;
21 class ShelfDelegate;
22 class ShelfModel;
23 class Shell;
24 class SystemGestureEventFilter;
25 class WorkspaceController;
26
27 namespace test {
28
29 // Accesses private data from a Shell for testing.
30 class ShellTestApi {
31 public:
32   explicit ShellTestApi(Shell* shell);
33
34   RootWindowLayoutManager* root_window_layout();
35   ::wm::InputMethodEventFilter* input_method_event_filter();
36   SystemGestureEventFilter* system_gesture_event_filter();
37   WorkspaceController* workspace_controller();
38   ScreenPositionController* screen_position_controller();
39   AshNativeCursorManager* ash_native_cursor_manager();
40   ShelfModel* shelf_model();
41   DragDropController* drag_drop_controller();
42   AppListController* app_list_controller();
43   MaximizeModeWindowManager* maximize_mode_window_manager();
44   void DisableDisplayConfiguratorAnimation();
45
46   // Set ShelfDelegate.
47   void SetShelfDelegate(ShelfDelegate* delegate);
48
49  private:
50   Shell* shell_;  // not owned
51
52   DISALLOW_COPY_AND_ASSIGN(ShellTestApi);
53 };
54
55 }  // namespace test
56 }  // namespace ash
57
58 #endif  // ASH_TEST_SHELL_TEST_API_H_