Chromium Code Reviews| Index: ui/aura_shell/stacking_controller.cc |
| diff --git a/ui/aura_shell/stacking_controller.cc b/ui/aura_shell/stacking_controller.cc |
| index ffe5cb4af7cb8101de55cd0accca44598d297604..b1595fda47db7f791b061992443a4004fb2cb088 100644 |
| --- a/ui/aura_shell/stacking_controller.cc |
| +++ b/ui/aura_shell/stacking_controller.cc |
| @@ -23,7 +23,8 @@ aura::Window* GetContainer(int id) { |
| bool SupportsChildActivation(aura::Window* window) { |
| return window->id() == kShellWindowId_DefaultContainer || |
| window->id() == kShellWindowId_AlwaysOnTopContainer || |
| - window->id() == kShellWindowId_ModalContainer; |
| + window->id() == kShellWindowId_ModalContainer || |
| + window->id() == kShellWindowId_LockModalContainer; |
| } |
| bool IsWindowModal(aura::Window* window) { |
| @@ -75,7 +76,13 @@ void StackingController::AddChildToDefaultParent(aura::Window* window) { |
| case aura::WINDOW_TYPE_NORMAL: |
| case aura::WINDOW_TYPE_POPUP: |
| if (IsWindowModal(window)) { |
| - parent = GetContainer(internal::kShellWindowId_ModalContainer); |
| + aura::Window* lock_container = |
| + GetContainer(internal::kShellWindowId_LockScreenContainer); |
| + // Lock/login screen has its own modal container. |
| + if (!lock_container->children().size()) |
|
Ben Goodger (Google)
2011/11/28 17:12:56
I realized there is a flaw here that will require
Nikita (slow)
2011/11/29 10:06:34
Done.
|
| + parent = GetContainer(internal::kShellWindowId_ModalContainer); |
| + else |
| + parent = GetContainer(internal::kShellWindowId_LockModalContainer); |
| break; |
| } |
| parent = always_on_top_controller_->GetContainer(window); |