summaryrefslogtreecommitdiffstats
path: root/ash/root_window_controller.cc
diff options
context:
space:
mode:
authornkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-06 13:51:13 +0000
committernkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-06 13:51:13 +0000
commit68d513333bbb95893035255a1646b38c2676e60e (patch)
tree806934e5c9ea083ac4e6f0442a446d4ca93ceda9 /ash/root_window_controller.cc
parent7a2a6d8000151f9c9b7c9e28af8cc5b192d3b720 (diff)
downloadchromium_src-68d513333bbb95893035255a1646b38c2676e60e.zip
chromium_src-68d513333bbb95893035255a1646b38c2676e60e.tar.gz
chromium_src-68d513333bbb95893035255a1646b38c2676e60e.tar.bz2
Add LockLayoutManager responsible for lock container (login/lock).
Previously WorkspaceManager was used for this container which resulted in various issues when login screen window was not full screen and was supposed to be resized only by virtual keyboard container. Otherwise panels and shelf were taken into account even though they are stacked below the lock container. This CL improves previous fix https://codereview.chromium.org/231123002 Disable this layout manager with --ash-disable-lock-layout-manager Verified that existing out-of-box/login/multi-profiles login/lock* virtual keyboard overscroll/non-overscroll configurations work fine. Non-overscroll lock screen configuration is updated to use the same behavior as login in https://codereview.chromium.org/320523003 BUG=375666 TEST=LockLayoutManager.*, existing tests Review URL: https://codereview.chromium.org/254673004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275431 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/root_window_controller.cc')
-rw-r--r--ash/root_window_controller.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc
index 1fe7c37..5763b3d 100644
--- a/ash/root_window_controller.cc
+++ b/ash/root_window_controller.cc
@@ -34,6 +34,7 @@
#include "ash/touch/touch_observer_hud.h"
#include "ash/wm/always_on_top_controller.h"
#include "ash/wm/dock/docked_window_layout_manager.h"
+#include "ash/wm/lock_layout_manager.h"
#include "ash/wm/panels/attached_panel_window_targeter.h"
#include "ash/wm/panels/panel_layout_manager.h"
#include "ash/wm/panels/panel_window_event_handler.h"
@@ -1011,7 +1012,13 @@ void RootWindowController::CreateContainersInRootWindow(
kShellWindowId_LockScreenContainer,
"LockScreenContainer",
lock_screen_containers);
- lock_container->SetLayoutManager(new WorkspaceLayoutManager(lock_container));
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kAshDisableLockLayoutManager)) {
+ lock_container->SetLayoutManager(
+ new WorkspaceLayoutManager(lock_container));
+ } else {
+ lock_container->SetLayoutManager(new LockLayoutManager(lock_container));
+ }
SetUsesScreenCoordinates(lock_container);
// TODO(beng): stopsevents