summaryrefslogtreecommitdiffstats
path: root/ash/launcher
diff options
context:
space:
mode:
authorjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-10 00:18:14 +0000
committerjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-10 00:18:14 +0000
commit075d31e3d7606d7a7d6477f37e9dc134575fb5fc (patch)
tree25ed22445f675f2068546b46bd6111df97272c61 /ash/launcher
parent8de12ff8ab2d1f85689f49b2291c1065fe8c4399 (diff)
downloadchromium_src-075d31e3d7606d7a7d6477f37e9dc134575fb5fc.zip
chromium_src-075d31e3d7606d7a7d6477f37e9dc134575fb5fc.tar.gz
chromium_src-075d31e3d7606d7a7d6477f37e9dc134575fb5fc.tar.bz2
Aura: Fix activated windows sometimes not switching to foreground
This was caused by a mismatch in window and layer stacking. We use a NULL layer delegate as a signal that a window is hidden or closed and is animating out. The bottom-of-window status bubble frequently shows and hides, and hence is commonly in this state. If you tried to activate a background window while the status bubble was animating out the window would activate and start processing events, but its layer would not be brought to front, so it would visually appear behind other windows. The problem was probably introduced in either http://crrev.com/119453 (which introduced stacking changes for NULL layer delegate windows) or http://crrev.com/119753 (which fixed a similar issue with transient child windows). This patch ensures that window stacking order always matches layer stacking order and adds unit tests for this situation. BUG=112562 TEST=aura_unittests WindowTest.Stack* Review URL: https://chromiumcodereview.appspot.com/9371028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121351 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/launcher')
-rw-r--r--ash/launcher/launcher.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/ash/launcher/launcher.cc b/ash/launcher/launcher.cc
index 61810e2..f9b5477 100644
--- a/ash/launcher/launcher.cc
+++ b/ash/launcher/launcher.cc
@@ -120,6 +120,7 @@ Launcher::Launcher(aura::Window* window_container)
delegate_view_->AddChildView(launcher_view);
params.delegate = delegate_view_;
widget_->Init(params);
+ widget_->GetNativeWindow()->SetName("LauncherWindow");
gfx::Size pref = static_cast<views::View*>(launcher_view)->GetPreferredSize();
widget_->SetBounds(gfx::Rect(0, 0, pref.width(), pref.height()));
// The launcher should not take focus when it is initially shown.