shell_test_api.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
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;
18a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)class ShelfDelegate;
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class ShelfModel;
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Shell;
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace internal {
2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class AppListController;
24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class DragDropController;
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class RootWindowLayoutManager;
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ScreenPositionController;
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class SystemGestureEventFilter;
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class WorkspaceController;
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace internal
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace test {
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Accesses private data from a Shell for testing.
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ShellTestApi {
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)public:
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  explicit ShellTestApi(Shell* shell);
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::RootWindowLayoutManager* root_window_layout();
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  views::corewm::InputMethodEventFilter* input_method_event_filter();
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::SystemGestureEventFilter* system_gesture_event_filter();
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::WorkspaceController* workspace_controller();
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  internal::ScreenPositionController* screen_position_controller();
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  AshNativeCursorManager* ash_native_cursor_manager();
44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  ShelfModel* shelf_model();
45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  internal::DragDropController* drag_drop_controller();
4658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  internal::AppListController* app_list_controller();
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  void DisableOutputConfiguratorAnimation();
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
50a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  // Set ShelfDelegate.
51a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  void SetShelfDelegate(ShelfDelegate* delegate);
52f2477e01787aa58f445919b809d89e252beef54fTorne (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