summaryrefslogtreecommitdiffstats
path: root/ui/aura_shell
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-26 20:56:42 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-26 20:56:42 +0000
commit40efd05f84cd80771cf3a07abe1e2b5e40e0c939 (patch)
tree05d996664bfbbc314ddcfed0772e9040f8d64ded /ui/aura_shell
parentaca5148cbb5c19f23c20e8421ce4e74d3bbd7a05 (diff)
downloadchromium_src-40efd05f84cd80771cf3a07abe1e2b5e40e0c939.zip
chromium_src-40efd05f84cd80771cf3a07abe1e2b5e40e0c939.tar.gz
chromium_src-40efd05f84cd80771cf3a07abe1e2b5e40e0c939.tar.bz2
Makes launcher ignore adds/removes that aren't from the
TopLevelWindowContainer. This is needed as launcher also observes any windows added to the TopLevelWindowContainer to track visibility. BUG=101684 TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/8392040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107429 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/aura_shell')
-rw-r--r--ui/aura_shell/launcher/launcher.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui/aura_shell/launcher/launcher.cc b/ui/aura_shell/launcher/launcher.cc
index def48c4..4792c8d 100644
--- a/ui/aura_shell/launcher/launcher.cc
+++ b/ui/aura_shell/launcher/launcher.cc
@@ -61,6 +61,9 @@ void Launcher::MaybeAdd(aura::Window* window) {
}
void Launcher::OnWindowAdded(aura::Window* new_window) {
+ if (new_window->parent() != window_container_)
+ return;
+
DCHECK(known_windows_.find(new_window) == known_windows_.end());
known_windows_[new_window] = false;
new_window->AddObserver(this);
@@ -72,6 +75,9 @@ void Launcher::OnWindowAdded(aura::Window* new_window) {
}
void Launcher::OnWillRemoveWindow(aura::Window* window) {
+ if (window->parent() != window_container_)
+ return;
+
window->RemoveObserver(this);
known_windows_.erase(window);
LauncherItems::const_iterator i = model_->ItemByWindow(window);