diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-26 20:56:42 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-26 20:56:42 +0000 |
commit | 40efd05f84cd80771cf3a07abe1e2b5e40e0c939 (patch) | |
tree | 05d996664bfbbc314ddcfed0772e9040f8d64ded /ui/aura_shell | |
parent | aca5148cbb5c19f23c20e8421ce4e74d3bbd7a05 (diff) | |
download | chromium_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.cc | 6 |
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); |