Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(303)

Side by Side Diff: ash/mus/bridge/wm_shell_mus.h

Issue 2808723004: Renames WmShell to ShellPort (Closed)
Patch Set: feedback Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 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 #ifndef ASH_MUS_BRIDGE_WM_SHELL_MUS_H_
6 #define ASH_MUS_BRIDGE_WM_SHELL_MUS_H_
7
8 #include <stdint.h>
9
10 #include <memory>
11 #include <vector>
12
13 #include "ash/wm_shell.h"
14 #include "base/macros.h"
15
16 namespace aura {
17 class WindowTreeClient;
18 }
19
20 namespace views {
21 class PointerWatcherEventRouter;
22 }
23
24 namespace ash {
25
26 class AcceleratorControllerDelegateAura;
27 class PointerWatcherAdapter;
28 class RootWindowController;
29
30 namespace mus {
31
32 class AcceleratorControllerDelegateMus;
33 class AcceleratorControllerRegistrar;
34 class ImmersiveHandlerFactoryMus;
35 class WindowManager;
36 class WmShellMusTestApi;
37
38 // WmShell implementation for mus.
39 class WmShellMus : public WmShell {
40 public:
41 // If |create_session_state_delegate_stub| is true SessionStateDelegateStub is
42 // created. If false, the SessionStateDelegate from Shell is used.
43 WmShellMus(WmWindow* primary_root_window,
44 WindowManager* window_manager,
45 views::PointerWatcherEventRouter* pointer_watcher_event_router,
46 bool create_session_state_delegate_stub);
47 ~WmShellMus() override;
48
49 static WmShellMus* Get();
50
51 ash::RootWindowController* GetRootWindowControllerWithDisplayId(int64_t id);
52
53 AcceleratorControllerDelegateAura* accelerator_controller_delegate_mus() {
54 return mus_state_->accelerator_controller_delegate.get();
55 }
56
57 aura::WindowTreeClient* window_tree_client();
58
59 WindowManager* window_manager() { return window_manager_; }
60
61 // WmShell:
62 void Shutdown() override;
63 bool IsRunningInMash() const override;
64 Config GetAshConfig() const override;
65 WmWindow* GetPrimaryRootWindow() override;
66 WmWindow* GetRootWindowForDisplayId(int64_t display_id) override;
67 const display::ManagedDisplayInfo& GetDisplayInfo(
68 int64_t display_id) const override;
69 bool IsActiveDisplayId(int64_t display_id) const override;
70 display::Display GetFirstDisplay() const override;
71 bool IsInUnifiedMode() const override;
72 bool IsInUnifiedModeIgnoreMirroring() const override;
73 void SetDisplayWorkAreaInsets(WmWindow* window,
74 const gfx::Insets& insets) override;
75 void LockCursor() override;
76 void UnlockCursor() override;
77 bool IsMouseEventsEnabled() override;
78 std::vector<WmWindow*> GetAllRootWindows() override;
79 void RecordGestureAction(GestureActionType action) override;
80 void RecordUserMetricsAction(UserMetricsAction action) override;
81 void RecordTaskSwitchMetric(TaskSwitchSource source) override;
82 std::unique_ptr<WindowResizer> CreateDragWindowResizer(
83 std::unique_ptr<WindowResizer> next_window_resizer,
84 wm::WindowState* window_state) override;
85 std::unique_ptr<WindowCycleEventFilter> CreateWindowCycleEventFilter()
86 override;
87 std::unique_ptr<wm::MaximizeModeEventHandler> CreateMaximizeModeEventHandler()
88 override;
89 std::unique_ptr<WorkspaceEventHandler> CreateWorkspaceEventHandler(
90 WmWindow* workspace_window) override;
91 std::unique_ptr<ScopedDisableInternalMouseAndKeyboard>
92 CreateScopedDisableInternalMouseAndKeyboard() override;
93 std::unique_ptr<ImmersiveFullscreenController>
94 CreateImmersiveFullscreenController() override;
95 std::unique_ptr<KeyboardUI> CreateKeyboardUI() override;
96 std::unique_ptr<KeyEventWatcher> CreateKeyEventWatcher() override;
97 SessionStateDelegate* GetSessionStateDelegate() override;
98 void AddDisplayObserver(WmDisplayObserver* observer) override;
99 void RemoveDisplayObserver(WmDisplayObserver* observer) override;
100 void AddPointerWatcher(views::PointerWatcher* watcher,
101 views::PointerWatcherEventTypes events) override;
102 void RemovePointerWatcher(views::PointerWatcher* watcher) override;
103 bool IsTouchDown() override;
104 void ToggleIgnoreExternalKeyboard() override;
105 void SetLaserPointerEnabled(bool enabled) override;
106 void SetPartialMagnifierEnabled(bool enabled) override;
107 void CreatePointerWatcherAdapter() override;
108 void CreatePrimaryHost() override;
109 void InitHosts(const ShellInitParams& init_params) override;
110 std::unique_ptr<AcceleratorController> CreateAcceleratorController() override;
111
112 private:
113 friend class WmShellMusTestApi;
114
115 struct MashSpecificState {
116 MashSpecificState();
117 ~MashSpecificState();
118
119 views::PointerWatcherEventRouter* pointer_watcher_event_router = nullptr;
120 std::unique_ptr<AcceleratorControllerDelegateMus>
121 accelerator_controller_delegate;
122 std::unique_ptr<AcceleratorControllerRegistrar>
123 accelerator_controller_registrar;
124 std::unique_ptr<ImmersiveHandlerFactoryMus> immersive_handler_factory;
125 };
126
127 struct MusSpecificState {
128 MusSpecificState();
129 ~MusSpecificState();
130
131 std::unique_ptr<PointerWatcherAdapter> pointer_watcher_adapter;
132 std::unique_ptr<AcceleratorControllerDelegateAura>
133 accelerator_controller_delegate;
134 };
135
136 WindowManager* window_manager_;
137
138 WmWindow* primary_root_window_;
139
140 // Only one of |mash_state_| or |mus_state_| is created, depending upon
141 // Config.
142 std::unique_ptr<MashSpecificState> mash_state_;
143 std::unique_ptr<MusSpecificState> mus_state_;
144
145 std::unique_ptr<SessionStateDelegate> session_state_delegate_;
146
147 DISALLOW_COPY_AND_ASSIGN(WmShellMus);
148 };
149
150 } // namespace mus
151 } // namespace ash
152
153 #endif // ASH_MUS_BRIDGE_WM_SHELL_MUS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698