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 10namespace wm { 11class InputMethodEventFilter; 12} // namespace wm 13 14namespace ash { 15class AppListController; 16class AshNativeCursorManager; 17class DragDropController; 18class MaximizeModeWindowManager; 19class RootWindowLayoutManager; 20class ScreenPositionController; 21class ShelfDelegate; 22class ShelfModel; 23class Shell; 24class SystemGestureEventFilter; 25class WorkspaceController; 26 27namespace test { 28 29// Accesses private data from a Shell for testing. 30class ShellTestApi { 31public: 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_ 59