summaryrefslogtreecommitdiffstats
path: root/ash/shell.cc
diff options
context:
space:
mode:
authorstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-26 00:23:16 +0000
committerstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-26 00:23:16 +0000
commitc066b8d33fe09b6778f4e084a1c18c9a863f19a9 (patch)
tree3c99988a12af8422127ac9eca80a97cee39d9b95 /ash/shell.cc
parenteb9a40bfbbd396c8dd7c367f09abab0949e3f212 (diff)
downloadchromium_src-c066b8d33fe09b6778f4e084a1c18c9a863f19a9.zip
chromium_src-c066b8d33fe09b6778f4e084a1c18c9a863f19a9.tar.gz
chromium_src-c066b8d33fe09b6778f4e084a1c18c9a863f19a9.tar.bz2
Set panels windows to always be on top.
Make always on top windows part of WorkspaceLayoutManager but not part of any actual workspace. BUG=119794 TEST=Test minimizing, maximizing, and moving popup windows and panels in normal and maximized mode. Review URL: https://chromiumcodereview.appspot.com/9836089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128846 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.cc')
-rw-r--r--ash/shell.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/ash/shell.cc b/ash/shell.cc
index b86ade2..4c3282b 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -61,6 +61,7 @@
#include "ash/wm/window_cycle_controller.h"
#include "ash/wm/window_modality_controller.h"
#include "ash/wm/window_util.h"
+#include "ash/wm/workspace/always_on_top_layout_manager.h"
#include "ash/wm/workspace_controller.h"
#include "ash/wm/workspace/workspace_event_filter.h"
#include "ash/wm/workspace/workspace_layout_manager.h"
@@ -173,6 +174,10 @@ void CreateSpecialContainers(aura::RootWindow* root_window) {
"LauncherContainer",
non_lock_screen_containers);
+ CreateContainer(internal::kShellWindowId_AppListContainer,
+ "AppListContainer",
+ non_lock_screen_containers);
+
aura::Window* modal_container = CreateContainer(
internal::kShellWindowId_SystemModalContainer,
"SystemModalContainer",
@@ -888,6 +893,12 @@ void Shell::InitLayoutManagers() {
shelf_layout_manager->set_workspace_manager(
workspace_controller_->workspace_manager());
+ aura::Window* always_on_top_container =
+ GetContainer(internal::kShellWindowId_AlwaysOnTopContainer);
+ always_on_top_container->SetLayoutManager(
+ new internal::AlwaysOnTopLayoutManager(
+ always_on_top_container->GetRootWindow()));
+
// Create desktop background widget.
// TODO(bshe): We should be able to use OnDesktopBackgroundChanged function
// here after issue 117244 got fixed.