OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // 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 | 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/root_window_controller.h" | 5 #include "ash/root_window_controller.h" |
6 | 6 |
7 #include <queue> | 7 #include <queue> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_constants.h" | 10 #include "ash/ash_constants.h" |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 } | 347 } |
348 | 348 |
349 CloseChildWindows(); | 349 CloseChildWindows(); |
350 GetRootWindowSettings(root_window())->controller = NULL; | 350 GetRootWindowSettings(root_window())->controller = NULL; |
351 screen_dimmer_.reset(); | 351 screen_dimmer_.reset(); |
352 workspace_controller_.reset(); | 352 workspace_controller_.reset(); |
353 // Forget with the display ID so that display lookup | 353 // Forget with the display ID so that display lookup |
354 // ends up with invalid display. | 354 // ends up with invalid display. |
355 internal::GetRootWindowSettings(root_window())->display_id = | 355 internal::GetRootWindowSettings(root_window())->display_id = |
356 gfx::Display::kInvalidDisplayID; | 356 gfx::Display::kInvalidDisplayID; |
357 internal::GetRootWindowSettings(root_window())->shutdown = true; | 357 // And this root window should no longer process events. |
| 358 host()->dispatcher()->PrepareForShutdown(); |
358 | 359 |
359 system_background_.reset(); | 360 system_background_.reset(); |
360 aura::client::SetScreenPositionClient(root_window(), NULL); | 361 aura::client::SetScreenPositionClient(root_window(), NULL); |
361 } | 362 } |
362 | 363 |
363 SystemModalContainerLayoutManager* | 364 SystemModalContainerLayoutManager* |
364 RootWindowController::GetSystemModalLayoutManager(aura::Window* window) { | 365 RootWindowController::GetSystemModalLayoutManager(aura::Window* window) { |
365 aura::Window* modal_container = NULL; | 366 aura::Window* modal_container = NULL; |
366 if (window) { | 367 if (window) { |
367 aura::Window* window_container = GetContainerForWindow(window); | 368 aura::Window* window_container = GetContainerForWindow(window); |
(...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 DisableTouchHudProjection(); | 1006 DisableTouchHudProjection(); |
1006 } | 1007 } |
1007 | 1008 |
1008 RootWindowController* GetRootWindowController( | 1009 RootWindowController* GetRootWindowController( |
1009 const aura::Window* root_window) { | 1010 const aura::Window* root_window) { |
1010 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; | 1011 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; |
1011 } | 1012 } |
1012 | 1013 |
1013 } // namespace internal | 1014 } // namespace internal |
1014 } // namespace ash | 1015 } // namespace ash |
OLD | NEW |