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

Side by Side Diff: ash/root_window_controller.cc

Issue 2000393003: ash: Reorder shutdown of ShelfLayoutManager and StatusAreaWidget (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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 | « no previous file | ash/shelf/shelf_layout_manager.h » ('j') | ash/shelf/shelf_layout_manager.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 panel_layout_manager_ = NULL; 512 panel_layout_manager_ = NULL;
513 } 513 }
514 // docked_layout_manager_ needs to be shut down before windows are destroyed. 514 // docked_layout_manager_ needs to be shut down before windows are destroyed.
515 if (docked_layout_manager_) { 515 if (docked_layout_manager_) {
516 docked_layout_manager_->Shutdown(); 516 docked_layout_manager_->Shutdown();
517 docked_layout_manager_ = NULL; 517 docked_layout_manager_ = NULL;
518 } 518 }
519 aura::Window* root_window = GetRootWindow(); 519 aura::Window* root_window = GetRootWindow();
520 aura::client::SetDragDropClient(root_window, NULL); 520 aura::client::SetDragDropClient(root_window, NULL);
521 521
522 // TODO(harrym): Remove when Status Area Widget is a child view. 522 if (shelf_)
523 if (shelf_) { 523 shelf_->Shutdown();
524 shelf_->ShutdownStatusAreaWidget();
525
526 if (shelf_->shelf_layout_manager())
527 shelf_->shelf_layout_manager()->PrepareForShutdown();
528 }
529 524
530 // Close background widget first as it depends on tooltip. 525 // Close background widget first as it depends on tooltip.
531 wallpaper_controller_.reset(); 526 wallpaper_controller_.reset();
532 animating_wallpaper_controller_.reset(); 527 animating_wallpaper_controller_.reset();
533 528
534 workspace_controller_.reset(); 529 workspace_controller_.reset();
535 aura::client::SetTooltipClient(root_window, NULL); 530 aura::client::SetTooltipClient(root_window, NULL);
536 531
537 // Explicitly destroy top level windows. We do this as during part of 532 // Explicitly destroy top level windows. We do this as during part of
538 // destruction such windows may query the RootWindow for state. 533 // destruction such windows may query the RootWindow for state.
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 aura::Window* primary_root_window = Shell::GetInstance() 1071 aura::Window* primary_root_window = Shell::GetInstance()
1077 ->window_tree_host_manager() 1072 ->window_tree_host_manager()
1078 ->GetPrimaryRootWindow(); 1073 ->GetPrimaryRootWindow();
1079 return GetRootWindowSettings(primary_root_window)->controller; 1074 return GetRootWindowSettings(primary_root_window)->controller;
1080 } 1075 }
1081 1076
1082 return GetRootWindowSettings(root_window)->controller; 1077 return GetRootWindowSettings(root_window)->controller;
1083 } 1078 }
1084 1079
1085 } // namespace ash 1080 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ash/shelf/shelf_layout_manager.h » ('j') | ash/shelf/shelf_layout_manager.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698