12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef ASH_TEST_SHELL_TEST_API_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define ASH_TEST_SHELL_TEST_API_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/basictypes.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace wm { 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class InputMethodEventFilter; 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} // namespace wm 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace ash { 1558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class AppListController; 16c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochclass AshNativeCursorManager; 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class DragDropController; 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class MaximizeModeWindowManager; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class RootWindowLayoutManager; 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class SessionStateDelegate; 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ScreenPositionController; 22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochclass ShelfDelegate; 23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochclass ShelfModel; 24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochclass Shell; 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class SystemGestureEventFilter; 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class WorkspaceController; 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace test { 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Accesses private data from a Shell for testing. 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ShellTestApi { 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)public: 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) explicit ShellTestApi(Shell* shell); 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 35c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch RootWindowLayoutManager* root_window_layout(); 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ::wm::InputMethodEventFilter* input_method_event_filter(); 37c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch SystemGestureEventFilter* system_gesture_event_filter(); 38c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch WorkspaceController* workspace_controller(); 39c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch ScreenPositionController* screen_position_controller(); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) AshNativeCursorManager* ash_native_cursor_manager(); 41f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ShelfModel* shelf_model(); 42c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch DragDropController* drag_drop_controller(); 43c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch AppListController* app_list_controller(); 44c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch MaximizeModeWindowManager* maximize_mode_window_manager(); 455c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu void DisableDisplayConfiguratorAnimation(); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 47a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) // Set ShelfDelegate. 48a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) void SetShelfDelegate(ShelfDelegate* delegate); 49f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 506e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // Set SessionStateDelegate. 516e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void SetSessionStateDelegate(SessionStateDelegate* session_state_delegate); 526e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Shell* shell_; // not owned 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ShellTestApi); 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace test 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace ash 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // ASH_TEST_SHELL_TEST_API_H_ 63