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#include "ash/test/shell_test_api.h" 6 7#include "ash/root_window_controller.h" 8#include "ash/session/session_state_delegate.h" 9#include "ash/shelf/shelf_delegate.h" 10#include "ash/shell.h" 11 12#if defined(OS_CHROMEOS) 13#include "ash/display/display_configurator_animation.h" 14#include "ui/display/chromeos/display_configurator.h" 15#endif 16 17namespace ash { 18namespace test { 19 20ShellTestApi::ShellTestApi(Shell* shell) : shell_(shell) {} 21 22RootWindowLayoutManager* ShellTestApi::root_window_layout() { 23 return shell_->GetPrimaryRootWindowController()->root_window_layout(); 24} 25 26wm::InputMethodEventFilter* 27ShellTestApi::input_method_event_filter() { 28 return shell_->input_method_filter_.get(); 29} 30 31SystemGestureEventFilter* ShellTestApi::system_gesture_event_filter() { 32 return shell_->system_gesture_filter_.get(); 33} 34 35WorkspaceController* ShellTestApi::workspace_controller() { 36 return shell_->GetPrimaryRootWindowController()->workspace_controller(); 37} 38 39ScreenPositionController* ShellTestApi::screen_position_controller() { 40 return shell_->screen_position_controller_.get(); 41} 42 43AshNativeCursorManager* ShellTestApi::ash_native_cursor_manager() { 44 return shell_->native_cursor_manager_; 45} 46 47ShelfModel* ShellTestApi::shelf_model() { 48 return shell_->shelf_model_.get(); 49} 50 51DragDropController* ShellTestApi::drag_drop_controller() { 52 return shell_->drag_drop_controller_.get(); 53} 54 55AppListController* ShellTestApi::app_list_controller() { 56 return shell_->app_list_controller_.get(); 57} 58 59void ShellTestApi::DisableDisplayConfiguratorAnimation() { 60#if defined(OS_CHROMEOS) 61 if (shell_->display_configurator_animation_) { 62 shell_->display_configurator_->RemoveObserver( 63 shell_->display_configurator_animation_.get()); 64 shell_->display_configurator_animation_.reset(); 65 } 66#endif // defined(OS_CHROMEOS) 67} 68 69void ShellTestApi::SetShelfDelegate(ShelfDelegate* delegate) { 70 shell_->shelf_delegate_.reset(delegate); 71} 72 73void ShellTestApi::SetSessionStateDelegate( 74 SessionStateDelegate* session_state_delegate) { 75 shell_->session_state_delegate_.reset(session_state_delegate); 76} 77 78} // namespace test 79} // namespace ash 80