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 views {
     11 namespace corewm {
     12 class InputMethodEventFilter;
     13 }  // namespace corewm
     14 }  // namespace views
     15 
     16 namespace ash {
     17 class AshNativeCursorManager;
     18 class ShelfDelegate;
     19 class ShelfModel;
     20 class Shell;
     21 
     22 namespace internal {
     23 class AppListController;
     24 class DragDropController;
     25 class RootWindowLayoutManager;
     26 class ScreenPositionController;
     27 class SystemGestureEventFilter;
     28 class WorkspaceController;
     29 }  // namespace internal
     30 
     31 namespace test {
     32 
     33 // Accesses private data from a Shell for testing.
     34 class ShellTestApi {
     35 public:
     36   explicit ShellTestApi(Shell* shell);
     37 
     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();
     47 
     48   void DisableOutputConfiguratorAnimation();
     49 
     50   // Set ShelfDelegate.
     51   void SetShelfDelegate(ShelfDelegate* 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