Home | History | Annotate | Download | only in test
      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