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

Side by Side Diff: ash/mus/window_manager.cc

Issue 2886253002: mash: remove more shell/shelf WmWindow usage. (Closed)
Patch Set: Fix WmShelf::ForWindow. Created 3 years, 7 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/window_manager.h ('k') | ash/root_window_controller.cc » ('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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ash/mus/window_manager.h" 5 #include "ash/mus/window_manager.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 lost_connection_callback_ = std::move(closure); 165 lost_connection_callback_ = std::move(closure);
166 } 166 }
167 167
168 bool WindowManager::WaitForInitialDisplays() { 168 bool WindowManager::WaitForInitialDisplays() {
169 return window_manager_client_->WaitForInitialDisplays(); 169 return window_manager_client_->WaitForInitialDisplays();
170 } 170 }
171 171
172 void WindowManager::DeleteAllRootWindowControllers() { 172 void WindowManager::DeleteAllRootWindowControllers() {
173 // Primary RootWindowController must be destroyed last. 173 // Primary RootWindowController must be destroyed last.
174 RootWindowController* primary_root_window_controller = 174 RootWindowController* primary_root_window_controller =
175 GetPrimaryRootWindowController(); 175 Shell::GetPrimaryRootWindowController();
176 std::set<RootWindowController*> secondary_root_window_controllers; 176 std::set<RootWindowController*> secondary_root_window_controllers;
177 for (auto& root_window_controller_ptr : root_window_controllers_) { 177 for (auto& root_window_controller_ptr : root_window_controllers_) {
178 if (root_window_controller_ptr.get() != primary_root_window_controller) { 178 if (root_window_controller_ptr.get() != primary_root_window_controller) {
179 secondary_root_window_controllers.insert( 179 secondary_root_window_controllers.insert(
180 root_window_controller_ptr.get()); 180 root_window_controller_ptr.get());
181 } 181 }
182 } 182 }
183 const bool in_shutdown = true; 183 const bool in_shutdown = true;
184 for (RootWindowController* root_window_controller : 184 for (RootWindowController* root_window_controller :
185 secondary_root_window_controllers) { 185 secondary_root_window_controllers) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 CreateAndRegisterRootWindowController( 228 CreateAndRegisterRootWindowController(
229 std::move(window_tree_host), screen_->GetAllDisplays()[0], 229 std::move(window_tree_host), screen_->GetAllDisplays()[0],
230 RootWindowController::RootWindowType::PRIMARY); 230 RootWindowController::RootWindowType::PRIMARY);
231 } 231 }
232 232
233 void WindowManager::CreateShell( 233 void WindowManager::CreateShell(
234 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host) { 234 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host) {
235 DCHECK(!created_shell_); 235 DCHECK(!created_shell_);
236 created_shell_ = true; 236 created_shell_ = true;
237 ShellInitParams init_params; 237 ShellInitParams init_params;
238 ShellPortMash* shell_port = new ShellPortMash( 238 ShellPortMash* shell_port =
239 window_tree_host ? WmWindow::Get(window_tree_host->window()) : nullptr, 239 new ShellPortMash(window_tree_host ? window_tree_host->window() : nullptr,
240 this, pointer_watcher_event_router_.get(), 240 this, pointer_watcher_event_router_.get(),
241 create_session_state_delegate_stub_for_test_); 241 create_session_state_delegate_stub_for_test_);
242 // Shell::CreateInstance() takes ownership of ShellDelegate. 242 // Shell::CreateInstance() takes ownership of ShellDelegate.
243 init_params.delegate = shell_delegate_ ? shell_delegate_.release() 243 init_params.delegate = shell_delegate_ ? shell_delegate_.release()
244 : new ShellDelegateMus(connector_); 244 : new ShellDelegateMus(connector_);
245 init_params.primary_window_tree_host = window_tree_host.release(); 245 init_params.primary_window_tree_host = window_tree_host.release();
246 init_params.shell_port = shell_port; 246 init_params.shell_port = shell_port;
247 init_params.blocking_pool = blocking_pool_.get(); 247 init_params.blocking_pool = blocking_pool_.get();
248 Shell::CreateInstance(init_params); 248 Shell::CreateInstance(init_params);
249 } 249 }
250 250
251 void WindowManager::CreateAndRegisterRootWindowController( 251 void WindowManager::CreateAndRegisterRootWindowController(
252 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host, 252 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host,
253 const display::Display& display, 253 const display::Display& display,
254 RootWindowController::RootWindowType root_window_type) { 254 RootWindowController::RootWindowType root_window_type) {
255 RootWindowSettings* root_window_settings = 255 RootWindowSettings* root_window_settings =
256 InitRootWindowSettings(window_tree_host->window()); 256 InitRootWindowSettings(window_tree_host->window());
257 root_window_settings->display_id = display.id(); 257 root_window_settings->display_id = display.id();
258 std::unique_ptr<RootWindowController> root_window_controller( 258 std::unique_ptr<RootWindowController> root_window_controller(
259 new RootWindowController(nullptr, window_tree_host.release())); 259 new RootWindowController(nullptr, window_tree_host.release()));
260 root_window_controller->Init(root_window_type); 260 root_window_controller->Init(root_window_type);
261 root_window_controllers_.insert(std::move(root_window_controller)); 261 root_window_controllers_.insert(std::move(root_window_controller));
262 } 262 }
263 263
264 void WindowManager::DestroyRootWindowController( 264 void WindowManager::DestroyRootWindowController(
265 RootWindowController* root_window_controller, 265 RootWindowController* root_window_controller,
266 bool in_shutdown) { 266 bool in_shutdown) {
267 if (!in_shutdown && root_window_controllers_.size() > 1) { 267 if (!in_shutdown && root_window_controllers_.size() > 1) {
268 DCHECK_NE(root_window_controller, GetPrimaryRootWindowController()); 268 DCHECK_NE(root_window_controller, Shell::GetPrimaryRootWindowController());
269 root_window_controller->MoveWindowsTo( 269 root_window_controller->MoveWindowsTo(Shell::GetPrimaryRootWindow());
270 GetPrimaryRootWindowController()->GetRootWindow());
271 } 270 }
272 271
273 root_window_controller->Shutdown(); 272 root_window_controller->Shutdown();
274 273
275 for (auto iter = root_window_controllers_.begin(); 274 for (auto iter = root_window_controllers_.begin();
276 iter != root_window_controllers_.end(); ++iter) { 275 iter != root_window_controllers_.end(); ++iter) {
277 if (iter->get() == root_window_controller) { 276 if (iter->get() == root_window_controller) {
278 root_window_controllers_.erase(iter); 277 root_window_controllers_.erase(iter);
279 break; 278 break;
280 } 279 }
(...skipping 10 matching lines...) Expand all
291 capture_client); 290 capture_client);
292 291
293 Shell::DeleteInstance(); 292 Shell::DeleteInstance();
294 293
295 pointer_watcher_event_router_.reset(); 294 pointer_watcher_event_router_.reset();
296 295
297 window_tree_client_.reset(); 296 window_tree_client_.reset();
298 window_manager_client_ = nullptr; 297 window_manager_client_ = nullptr;
299 } 298 }
300 299
301 RootWindowController* WindowManager::GetPrimaryRootWindowController() {
302 return RootWindowController::ForWindow(ShellPort::Get()
303 ->GetPrimaryRootWindowController()
304 ->GetWindow()
305 ->aura_window());
306 }
307
308 void WindowManager::OnEmbed( 300 void WindowManager::OnEmbed(
309 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host) { 301 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host) {
310 // WindowManager should never see this, instead OnWmNewDisplay() is called. 302 // WindowManager should never see this, instead OnWmNewDisplay() is called.
311 NOTREACHED(); 303 NOTREACHED();
312 } 304 }
313 305
314 void WindowManager::OnEmbedRootDestroyed( 306 void WindowManager::OnEmbedRootDestroyed(
315 aura::WindowTreeHostMus* window_tree_host) { 307 aura::WindowTreeHostMus* window_tree_host) {
316 // WindowManager should never see this. 308 // WindowManager should never see this.
317 NOTREACHED(); 309 NOTREACHED();
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 bool WindowManager::IsWindowActive(aura::Window* window) { 573 bool WindowManager::IsWindowActive(aura::Window* window) {
582 return Shell::Get()->activation_client()->GetActiveWindow() == window; 574 return Shell::Get()->activation_client()->GetActiveWindow() == window;
583 } 575 }
584 576
585 void WindowManager::OnWmDeactivateWindow(aura::Window* window) { 577 void WindowManager::OnWmDeactivateWindow(aura::Window* window) {
586 Shell::Get()->activation_client()->DeactivateWindow(window); 578 Shell::Get()->activation_client()->DeactivateWindow(window);
587 } 579 }
588 580
589 } // namespace mus 581 } // namespace mus
590 } // namespace ash 582 } // namespace ash
OLDNEW
« no previous file with comments | « ash/mus/window_manager.h ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698