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 SessionStateDelegate; 21 class ScreenPositionController; 22 class ShelfDelegate; 23 class ShelfModel; 24 class Shell; 25 class SystemGestureEventFilter; 26 class WorkspaceController; 27 28 namespace test { 29 30 // Accesses private data from a Shell for testing. 31 class ShellTestApi { 32 public: 33 explicit ShellTestApi(Shell* shell); 34 35 RootWindowLayoutManager* root_window_layout(); 36 ::wm::InputMethodEventFilter* input_method_event_filter(); 37 SystemGestureEventFilter* system_gesture_event_filter(); 38 WorkspaceController* workspace_controller(); 39 ScreenPositionController* screen_position_controller(); 40 AshNativeCursorManager* ash_native_cursor_manager(); 41 ShelfModel* shelf_model(); 42 DragDropController* drag_drop_controller(); 43 AppListController* app_list_controller(); 44 MaximizeModeWindowManager* maximize_mode_window_manager(); 45 void DisableDisplayConfiguratorAnimation(); 46 47 // Set ShelfDelegate. 48 void SetShelfDelegate(ShelfDelegate* delegate); 49 50 // Set SessionStateDelegate. 51 void SetSessionStateDelegate(SessionStateDelegate* session_state_delegate); 52 53 private: 54 Shell* shell_; // not owned 55 56 DISALLOW_COPY_AND_ASSIGN(ShellTestApi); 57 }; 58 59 } // namespace test 60 } // namespace ash 61 62 #endif // ASH_TEST_SHELL_TEST_API_H_ 63