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

Side by Side Diff: ash/mus/bridge/wm_globals_mus.cc

Issue 2029883002: Moves mash/wm into ash/mus (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_static_assert
Patch Set: move comment Created 4 years, 6 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
« no previous file with comments | « ash/mus/bridge/wm_globals_mus.h ('k') | ash/mus/bridge/wm_lookup_mus.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mash/wm/bridge/wm_globals_mus.h" 5 #include "ash/mus/bridge/wm_globals_mus.h"
6 6
7 #include "ash/common/shell_window_ids.h" 7 #include "ash/common/shell_window_ids.h"
8 #include "ash/common/wm/window_resizer.h" 8 #include "ash/common/wm/window_resizer.h"
9 #include "ash/common/wm/wm_activation_observer.h" 9 #include "ash/common/wm/wm_activation_observer.h"
10 #include "ash/mus/bridge/wm_root_window_controller_mus.h"
11 #include "ash/mus/bridge/wm_window_mus.h"
12 #include "ash/mus/container_ids.h"
13 #include "ash/mus/drag_window_resizer.h"
14 #include "ash/mus/root_window_controller.h"
10 #include "base/memory/ptr_util.h" 15 #include "base/memory/ptr_util.h"
11 #include "components/mus/common/util.h" 16 #include "components/mus/common/util.h"
12 #include "components/mus/public/cpp/window.h" 17 #include "components/mus/public/cpp/window.h"
13 #include "components/mus/public/cpp/window_tree_client.h" 18 #include "components/mus/public/cpp/window_tree_client.h"
14 #include "mash/wm/bridge/wm_root_window_controller_mus.h"
15 #include "mash/wm/bridge/wm_window_mus.h"
16 #include "mash/wm/container_ids.h"
17 #include "mash/wm/drag_window_resizer.h"
18 #include "mash/wm/root_window_controller.h"
19 19
20 namespace mash { 20 namespace ash {
21 namespace wm { 21 namespace mus {
22 22
23 WmGlobalsMus::WmGlobalsMus(mus::WindowTreeClient* client) 23 WmGlobalsMus::WmGlobalsMus(::mus::WindowTreeClient* client) : client_(client) {
24 : client_(client) {
25 client_->AddObserver(this); 24 client_->AddObserver(this);
26 WmGlobals::Set(this); 25 WmGlobals::Set(this);
27 } 26 }
28 27
29 WmGlobalsMus::~WmGlobalsMus() { 28 WmGlobalsMus::~WmGlobalsMus() {
30 RemoveClientObserver(); 29 RemoveClientObserver();
31 WmGlobals::Set(nullptr); 30 WmGlobals::Set(nullptr);
32 } 31 }
33 32
34 // static 33 // static
35 WmGlobalsMus* WmGlobalsMus::Get() { 34 WmGlobalsMus* WmGlobalsMus::Get() {
36 return static_cast<WmGlobalsMus*>(ash::wm::WmGlobals::Get()); 35 return static_cast<WmGlobalsMus*>(wm::WmGlobals::Get());
37 } 36 }
38 37
39 void WmGlobalsMus::AddRootWindowController( 38 void WmGlobalsMus::AddRootWindowController(
40 WmRootWindowControllerMus* controller) { 39 WmRootWindowControllerMus* controller) {
41 root_window_controllers_.push_back(controller); 40 root_window_controllers_.push_back(controller);
42 } 41 }
43 42
44 void WmGlobalsMus::RemoveRootWindowController( 43 void WmGlobalsMus::RemoveRootWindowController(
45 WmRootWindowControllerMus* controller) { 44 WmRootWindowControllerMus* controller) {
46 auto iter = std::find(root_window_controllers_.begin(), 45 auto iter = std::find(root_window_controllers_.begin(),
47 root_window_controllers_.end(), controller); 46 root_window_controllers_.end(), controller);
48 DCHECK(iter != root_window_controllers_.end()); 47 DCHECK(iter != root_window_controllers_.end());
49 root_window_controllers_.erase(iter); 48 root_window_controllers_.erase(iter);
50 } 49 }
51 50
52 // static 51 // static
53 WmWindowMus* WmGlobalsMus::GetToplevelAncestor(mus::Window* window) { 52 WmWindowMus* WmGlobalsMus::GetToplevelAncestor(::mus::Window* window) {
54 while (window) { 53 while (window) {
55 if (IsActivationParent(window->parent())) 54 if (IsActivationParent(window->parent()))
56 return WmWindowMus::Get(window); 55 return WmWindowMus::Get(window);
57 window = window->parent(); 56 window = window->parent();
58 } 57 }
59 return nullptr; 58 return nullptr;
60 } 59 }
61 60
62 WmRootWindowControllerMus* WmGlobalsMus::GetRootWindowControllerWithDisplayId( 61 WmRootWindowControllerMus* WmGlobalsMus::GetRootWindowControllerWithDisplayId(
63 int64_t id) { 62 int64_t id) {
64 for (WmRootWindowControllerMus* root_window_controller : 63 for (WmRootWindowControllerMus* root_window_controller :
65 root_window_controllers_) { 64 root_window_controllers_) {
66 if (root_window_controller->GetDisplay().id() == id) 65 if (root_window_controller->GetDisplay().id() == id)
67 return root_window_controller; 66 return root_window_controller;
68 } 67 }
69 NOTREACHED(); 68 NOTREACHED();
70 return nullptr; 69 return nullptr;
71 } 70 }
72 71
73 ash::wm::WmWindow* WmGlobalsMus::NewContainerWindow() { 72 wm::WmWindow* WmGlobalsMus::NewContainerWindow() {
74 return WmWindowMus::Get(client_->NewWindow()); 73 return WmWindowMus::Get(client_->NewWindow());
75 } 74 }
76 75
77 ash::wm::WmWindow* WmGlobalsMus::GetFocusedWindow() { 76 wm::WmWindow* WmGlobalsMus::GetFocusedWindow() {
78 return WmWindowMus::Get(client_->GetFocusedWindow()); 77 return WmWindowMus::Get(client_->GetFocusedWindow());
79 } 78 }
80 79
81 ash::wm::WmWindow* WmGlobalsMus::GetActiveWindow() { 80 wm::WmWindow* WmGlobalsMus::GetActiveWindow() {
82 return GetToplevelAncestor(client_->GetFocusedWindow()); 81 return GetToplevelAncestor(client_->GetFocusedWindow());
83 } 82 }
84 83
85 ash::wm::WmWindow* WmGlobalsMus::GetPrimaryRootWindow() { 84 wm::WmWindow* WmGlobalsMus::GetPrimaryRootWindow() {
86 return root_window_controllers_[0]->GetWindow(); 85 return root_window_controllers_[0]->GetWindow();
87 } 86 }
88 87
89 ash::wm::WmWindow* WmGlobalsMus::GetRootWindowForDisplayId(int64_t display_id) { 88 wm::WmWindow* WmGlobalsMus::GetRootWindowForDisplayId(int64_t display_id) {
90 return GetRootWindowControllerWithDisplayId(display_id)->GetWindow(); 89 return GetRootWindowControllerWithDisplayId(display_id)->GetWindow();
91 } 90 }
92 91
93 ash::wm::WmWindow* WmGlobalsMus::GetRootWindowForNewWindows() { 92 wm::WmWindow* WmGlobalsMus::GetRootWindowForNewWindows() {
94 NOTIMPLEMENTED(); 93 NOTIMPLEMENTED();
95 return root_window_controllers_[0]->GetWindow(); 94 return root_window_controllers_[0]->GetWindow();
96 } 95 }
97 96
98 std::vector<ash::wm::WmWindow*> WmGlobalsMus::GetMruWindowList() { 97 std::vector<wm::WmWindow*> WmGlobalsMus::GetMruWindowList() {
99 NOTIMPLEMENTED(); 98 NOTIMPLEMENTED();
100 return std::vector<ash::wm::WmWindow*>(); 99 return std::vector<wm::WmWindow*>();
101 } 100 }
102 101
103 std::vector<ash::wm::WmWindow*> WmGlobalsMus::GetMruWindowListIgnoreModals() { 102 std::vector<wm::WmWindow*> WmGlobalsMus::GetMruWindowListIgnoreModals() {
104 NOTIMPLEMENTED(); 103 NOTIMPLEMENTED();
105 return std::vector<ash::wm::WmWindow*>(); 104 return std::vector<wm::WmWindow*>();
106 } 105 }
107 106
108 bool WmGlobalsMus::IsForceMaximizeOnFirstRun() { 107 bool WmGlobalsMus::IsForceMaximizeOnFirstRun() {
109 NOTIMPLEMENTED(); 108 NOTIMPLEMENTED();
110 return false; 109 return false;
111 } 110 }
112 111
113 bool WmGlobalsMus::IsUserSessionBlocked() { 112 bool WmGlobalsMus::IsUserSessionBlocked() {
114 NOTIMPLEMENTED(); 113 NOTIMPLEMENTED();
115 return false; 114 return false;
116 } 115 }
117 116
118 bool WmGlobalsMus::IsScreenLocked() { 117 bool WmGlobalsMus::IsScreenLocked() {
119 NOTIMPLEMENTED(); 118 NOTIMPLEMENTED();
120 return false; 119 return false;
121 } 120 }
122 121
123 void WmGlobalsMus::LockCursor() { 122 void WmGlobalsMus::LockCursor() {
124 NOTIMPLEMENTED(); 123 NOTIMPLEMENTED();
125 } 124 }
126 125
127 void WmGlobalsMus::UnlockCursor() { 126 void WmGlobalsMus::UnlockCursor() {
128 NOTIMPLEMENTED(); 127 NOTIMPLEMENTED();
129 } 128 }
130 129
131 std::vector<ash::wm::WmWindow*> WmGlobalsMus::GetAllRootWindows() { 130 std::vector<wm::WmWindow*> WmGlobalsMus::GetAllRootWindows() {
132 std::vector<ash::wm::WmWindow*> wm_windows(root_window_controllers_.size()); 131 std::vector<wm::WmWindow*> wm_windows(root_window_controllers_.size());
133 for (size_t i = 0; i < root_window_controllers_.size(); ++i) 132 for (size_t i = 0; i < root_window_controllers_.size(); ++i)
134 wm_windows[i] = root_window_controllers_[i]->GetWindow(); 133 wm_windows[i] = root_window_controllers_[i]->GetWindow();
135 return wm_windows; 134 return wm_windows;
136 } 135 }
137 136
138 void WmGlobalsMus::RecordUserMetricsAction( 137 void WmGlobalsMus::RecordUserMetricsAction(wm::WmUserMetricsAction action) {
139 ash::wm::WmUserMetricsAction action) {
140 NOTIMPLEMENTED(); 138 NOTIMPLEMENTED();
141 } 139 }
142 140
143 std::unique_ptr<ash::WindowResizer> WmGlobalsMus::CreateDragWindowResizer( 141 std::unique_ptr<WindowResizer> WmGlobalsMus::CreateDragWindowResizer(
144 std::unique_ptr<ash::WindowResizer> next_window_resizer, 142 std::unique_ptr<WindowResizer> next_window_resizer,
145 ash::wm::WindowState* window_state) { 143 wm::WindowState* window_state) {
146 return base::WrapUnique( 144 return base::WrapUnique(
147 new DragWindowResizer(std::move(next_window_resizer), window_state)); 145 new DragWindowResizer(std::move(next_window_resizer), window_state));
148 } 146 }
149 147
150 bool WmGlobalsMus::IsOverviewModeSelecting() { 148 bool WmGlobalsMus::IsOverviewModeSelecting() {
151 NOTIMPLEMENTED(); 149 NOTIMPLEMENTED();
152 return false; 150 return false;
153 } 151 }
154 152
155 bool WmGlobalsMus::IsOverviewModeRestoringMinimizedWindows() { 153 bool WmGlobalsMus::IsOverviewModeRestoringMinimizedWindows() {
156 NOTIMPLEMENTED(); 154 NOTIMPLEMENTED();
157 return false; 155 return false;
158 } 156 }
159 157
160 void WmGlobalsMus::AddActivationObserver( 158 void WmGlobalsMus::AddActivationObserver(wm::WmActivationObserver* observer) {
161 ash::wm::WmActivationObserver* observer) {
162 activation_observers_.AddObserver(observer); 159 activation_observers_.AddObserver(observer);
163 } 160 }
164 161
165 void WmGlobalsMus::RemoveActivationObserver( 162 void WmGlobalsMus::RemoveActivationObserver(
166 ash::wm::WmActivationObserver* observer) { 163 wm::WmActivationObserver* observer) {
167 activation_observers_.RemoveObserver(observer); 164 activation_observers_.RemoveObserver(observer);
168 } 165 }
169 166
170 void WmGlobalsMus::AddDisplayObserver(ash::wm::WmDisplayObserver* observer) { 167 void WmGlobalsMus::AddDisplayObserver(wm::WmDisplayObserver* observer) {
171 NOTIMPLEMENTED(); 168 NOTIMPLEMENTED();
172 } 169 }
173 170
174 void WmGlobalsMus::RemoveDisplayObserver(ash::wm::WmDisplayObserver* observer) { 171 void WmGlobalsMus::RemoveDisplayObserver(wm::WmDisplayObserver* observer) {
175 NOTIMPLEMENTED(); 172 NOTIMPLEMENTED();
176 } 173 }
177 174
178 void WmGlobalsMus::AddOverviewModeObserver( 175 void WmGlobalsMus::AddOverviewModeObserver(
179 ash::wm::WmOverviewModeObserver* observer) { 176 wm::WmOverviewModeObserver* observer) {
180 NOTIMPLEMENTED(); 177 NOTIMPLEMENTED();
181 } 178 }
182 179
183 void WmGlobalsMus::RemoveOverviewModeObserver( 180 void WmGlobalsMus::RemoveOverviewModeObserver(
184 ash::wm::WmOverviewModeObserver* observer) { 181 wm::WmOverviewModeObserver* observer) {
185 NOTIMPLEMENTED(); 182 NOTIMPLEMENTED();
186 } 183 }
187 184
188 // static 185 // static
189 bool WmGlobalsMus::IsActivationParent(mus::Window* window) { 186 bool WmGlobalsMus::IsActivationParent(::mus::Window* window) {
190 if (!window) 187 if (!window)
191 return false; 188 return false;
192 189
193 for (size_t i = 0; i < kNumActivationContainers; ++i) { 190 for (size_t i = 0; i < kNumActivationContainers; ++i) {
194 if (window->local_id() == static_cast<int>(kActivationContainers[i])) 191 if (window->local_id() == static_cast<int>(kActivationContainers[i]))
195 return true; 192 return true;
196 } 193 }
197 return false; 194 return false;
198 } 195 }
199 196
200 void WmGlobalsMus::RemoveClientObserver() { 197 void WmGlobalsMus::RemoveClientObserver() {
201 if (!client_) 198 if (!client_)
202 return; 199 return;
203 200
204 client_->RemoveObserver(this); 201 client_->RemoveObserver(this);
205 client_ = nullptr; 202 client_ = nullptr;
206 } 203 }
207 204
208 // TODO: support OnAttemptToReactivateWindow, http://crbug.com/615114. 205 // TODO: support OnAttemptToReactivateWindow, http://crbug.com/615114.
209 void WmGlobalsMus::OnWindowTreeFocusChanged(mus::Window* gained_focus, 206 void WmGlobalsMus::OnWindowTreeFocusChanged(::mus::Window* gained_focus,
210 mus::Window* lost_focus) { 207 ::mus::Window* lost_focus) {
211 WmWindowMus* gained_active = GetToplevelAncestor(gained_focus); 208 WmWindowMus* gained_active = GetToplevelAncestor(gained_focus);
212 WmWindowMus* lost_active = GetToplevelAncestor(gained_focus); 209 WmWindowMus* lost_active = GetToplevelAncestor(gained_focus);
213 if (gained_active == lost_active) 210 if (gained_active == lost_active)
214 return; 211 return;
215 212
216 FOR_EACH_OBSERVER(ash::wm::WmActivationObserver, activation_observers_, 213 FOR_EACH_OBSERVER(wm::WmActivationObserver, activation_observers_,
217 OnWindowActivated(gained_active, lost_active)); 214 OnWindowActivated(gained_active, lost_active));
218 } 215 }
219 216
220 void WmGlobalsMus::OnWillDestroyClient( 217 void WmGlobalsMus::OnWillDestroyClient(::mus::WindowTreeClient* client) {
221 mus::WindowTreeClient* client) {
222 DCHECK_EQ(client, client_); 218 DCHECK_EQ(client, client_);
223 RemoveClientObserver(); 219 RemoveClientObserver();
224 } 220 }
225 221
226 } // namespace wm 222 } // namespace mus
227 } // namespace mash 223 } // namespace ash
OLDNEW
« no previous file with comments | « ash/mus/bridge/wm_globals_mus.h ('k') | ash/mus/bridge/wm_lookup_mus.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698