blob: 59e34ee30a4b0e6ee91f7222148f0334d1ee611d [file] [log] [blame]
[email protected]0c68e892012-12-08 16:54:531// 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
James Cook346c8c62017-07-18 19:38:375#ifndef ASH_SHELL_TEST_API_H_
6#define ASH_SHELL_TEST_API_H_
[email protected]0c68e892012-12-08 16:54:537
sky07a24d42017-03-09 23:57:308#include <memory>
9
avidb567a8a2015-12-20 17:07:2410#include "base/macros.h"
[email protected]0c68e892012-12-08 16:54:5311
James Cookbbe5cb12017-08-08 18:32:2112class PrefService;
13
[email protected]0c68e892012-12-08 16:54:5314namespace ash {
[email protected]c086bab2013-06-06 21:46:4415class DragDropController;
James Cook459354b32017-09-27 23:18:0116class MessageCenterController;
17class NativeCursorManagerAsh;
sky07a24d42017-03-09 23:57:3018class PaletteDelegate;
[email protected]0c68e892012-12-08 16:54:5319class ScreenPositionController;
[email protected]093b8d642014-04-03 20:59:2820class Shell;
[email protected]0c68e892012-12-08 16:54:5321class SystemGestureEventFilter;
James Cook459354b32017-09-27 23:18:0122class TabletModeWindowManager;
[email protected]0c68e892012-12-08 16:54:5323class WorkspaceController;
[email protected]0c68e892012-12-08 16:54:5324
[email protected]0c68e892012-12-08 16:54:5325// Accesses private data from a Shell for testing.
26class ShellTestApi {
jamescookb8dcef522016-06-25 14:42:5527 public:
sky07a24d42017-03-09 23:57:3028 ShellTestApi();
[email protected]0c68e892012-12-08 16:54:5329 explicit ShellTestApi(Shell* shell);
30
James Cook459354b32017-09-27 23:18:0131 MessageCenterController* message_center_controller();
[email protected]093b8d642014-04-03 20:59:2832 SystemGestureEventFilter* system_gesture_event_filter();
33 WorkspaceController* workspace_controller();
34 ScreenPositionController* screen_position_controller();
erg36cfb952017-06-21 19:41:4535 NativeCursorManagerAsh* native_cursor_manager_ash();
[email protected]093b8d642014-04-03 20:59:2836 DragDropController* drag_drop_controller();
Mitsuru Oshima0e9b7a62017-07-19 18:23:0337 TabletModeWindowManager* tablet_mode_window_manager();
[email protected]945ece962013-03-21 06:42:3938
sky07a24d42017-03-09 23:57:3039 void SetPaletteDelegate(std::unique_ptr<PaletteDelegate> palette_delegate);
[email protected]7570bba2014-08-08 08:04:4740
James Cookbbe5cb12017-08-08 18:32:2141 // Calls the private method.
42 void OnLocalStatePrefServiceInitialized(
43 std::unique_ptr<PrefService> pref_service);
44
Qiang Xu50c6f8c2017-08-31 20:55:2445 // Resets |shell_->power_button_controller_| to hold a new object to simulate
46 // Chrome starting.
47 void ResetPowerButtonControllerForTest();
48
[email protected]0c68e892012-12-08 16:54:5349 private:
50 Shell* shell_; // not owned
51
52 DISALLOW_COPY_AND_ASSIGN(ShellTestApi);
53};
54
[email protected]0c68e892012-12-08 16:54:5355} // namespace ash
56
James Cook346c8c62017-07-18 19:38:3757#endif // ASH_SHELL_TEST_API_H_