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

Unified Diff: ash/wm/overview/window_selector_panels.cc

Issue 331643004: Update the window labels if they change in overview mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Sky's comments Created 6 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 side-by-side diff with in-line comments
Download patch
Index: ash/wm/overview/window_selector_panels.cc
diff --git a/ash/wm/overview/window_selector_panels.cc b/ash/wm/overview/window_selector_panels.cc
index e936f929e31cd702e530efd0845c66b074665309..e4ab9bea2bfce8e89bb1a67c482cfc65eaa69671 100644
--- a/ash/wm/overview/window_selector_panels.cc
+++ b/ash/wm/overview/window_selector_panels.cc
@@ -92,10 +92,15 @@ WindowSelectorPanels::~WindowSelectorPanels() {
static_cast<PanelLayoutManager*>(
Shell::GetContainer(panels_root_window_, kShellWindowId_PanelContainer)->
layout_manager())->SetShowCalloutWidgets(true);
+ for (WindowList::iterator iter = transform_windows_.begin();
+ iter != transform_windows_.end(); iter++) {
+ (*iter)->window()->RemoveObserver(this);
+ }
}
void WindowSelectorPanels::AddWindow(aura::Window* window) {
DCHECK(window->GetRootWindow() == panels_root_window_);
+ window->AddObserver(this);
transform_windows_.push_back(new ScopedTransformPanelWindow(window));
}
@@ -139,6 +144,7 @@ void WindowSelectorPanels::RemoveWindow(const aura::Window* window) {
for (WindowList::iterator iter = transform_windows_.begin();
iter != transform_windows_.end(); ++iter) {
if ((*iter)->window() == window) {
+ (*iter)->window()->RemoveObserver(this);
(*iter)->OnWindowDestroyed();
transform_windows_.erase(iter);
break;
@@ -155,7 +161,7 @@ void WindowSelectorPanels::PrepareForOverview() {
// |panel_windows| will hold all the windows in the panel container, sorted
// according to their stacking order.
const aura::Window::Windows panels =
- transform_windows_[0]->window()->parent()->children();
+ transform_windows_.front()->window()->parent()->children();
// Call PrepareForOverview() in the reverse stacking order so that the
// transparent windows that handle the events are in the correct stacking

Powered by Google App Engine
This is Rietveld 408576698