| Index: athena/system/system_ui_impl.cc
|
| diff --git a/athena/system/system_ui_impl.cc b/athena/system/system_ui_impl.cc
|
| index 67076e56218e3cdfcc3daf2a5aeede1e4ea8822d..7b3b52586be4eea3b472fe6a425a5e89c170d665 100644
|
| --- a/athena/system/system_ui_impl.cc
|
| +++ b/athena/system/system_ui_impl.cc
|
| @@ -76,7 +76,6 @@ class SystemUIImpl : public SystemUI {
|
| public:
|
| SystemUIImpl(scoped_refptr<base::TaskRunner> blocking_task_runner)
|
| : orientation_controller_(new OrientationController()),
|
| - power_button_controller_(new PowerButtonController),
|
| background_container_(NULL),
|
| system_modal_container_(NULL) {
|
| orientation_controller_->InitWith(blocking_task_runner);
|
| @@ -89,7 +88,8 @@ class SystemUIImpl : public SystemUI {
|
| }
|
|
|
| void Init() {
|
| - background_container_ = ScreenManager::Get()->CreateContainer(
|
| + ScreenManager* screen_manager = ScreenManager::Get();
|
| + background_container_ = screen_manager->CreateContainer(
|
| ScreenManager::ContainerParams("AthenaBackground", CP_BACKGROUND));
|
| background_container_->SetLayoutManager(
|
| new FillLayoutManager(background_container_));
|
| @@ -97,8 +97,17 @@ class SystemUIImpl : public SystemUI {
|
| "AthenaSystemModalContainer", CP_SYSTEM_MODAL);
|
| system_modal_params.can_activate_children = true;
|
| system_modal_container_ =
|
| - ScreenManager::Get()->CreateContainer(system_modal_params);
|
| -
|
| + screen_manager->CreateContainer(system_modal_params);
|
| + login_screen_system_modal_container_ = screen_manager->CreateContainer(
|
| + ScreenManager::ContainerParams("AthenaLoginScreenSystemModalContainer",
|
| + CP_LOGIN_SCREEN_SYSTEM_MODAL));
|
| +
|
| + // Use |login_screen_system_modal_container_| for the power button's dialog
|
| + // because it needs to show over the login screen.
|
| + // TODO(pkotwicz): Pick the most appropriate container based on whether the
|
| + // user has logged in.
|
| + power_button_controller_.reset(
|
| + new PowerButtonController(login_screen_system_modal_container_));
|
| background_controller_.reset(
|
| new BackgroundController(background_container_));
|
| }
|
| @@ -119,9 +128,13 @@ class SystemUIImpl : public SystemUI {
|
| // The parent container for the background.
|
| aura::Window* background_container_;
|
|
|
| - // The parent container used by the "select network" dialog.
|
| + // The parent container used by system modal dialogs.
|
| aura::Window* system_modal_container_;
|
|
|
| + // The parent container used by system modal dialogs when the login screen is
|
| + // visible.
|
| + aura::Window* login_screen_system_modal_container_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SystemUIImpl);
|
| };
|
|
|
|
|