shell_test_api.h revision 58537e28ecd584eab876aee8be7156509866d23a
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)
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace views {
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace corewm {
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class InputMethodEventFilter;
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace corewm
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace views
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace ash {
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class AshNativeCursorManager;
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Shell;
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class LauncherModel;
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace internal {
2258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class AppListController;
23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class DragDropController;
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class RootWindowLayoutManager;
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ScreenPositionController;
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class SystemGestureEventFilter;
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class WorkspaceController;
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace internal
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace test {
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Accesses private data from a Shell for testing.
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ShellTestApi {
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)public:
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  explicit ShellTestApi(Shell* shell);
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::RootWindowLayoutManager* root_window_layout();
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  views::corewm::InputMethodEventFilter* input_method_event_filter();
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::SystemGestureEventFilter* system_gesture_event_filter();
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::WorkspaceController* workspace_controller();
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::ScreenPositionController* screen_position_controller();
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  AshNativeCursorManager* ash_native_cursor_manager();
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  LauncherModel* launcher_model();
44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  internal::DragDropController* drag_drop_controller();
4558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  internal::AppListController* app_list_controller();
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  void DisableOutputConfiguratorAnimation();
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private:
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  Shell* shell_;  // not owned
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(ShellTestApi);
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace test
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace ash
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // ASH_TEST_SHELL_TEST_API_H_
59