Index: ash/wm/power_button_controller.cc |
diff --git a/ash/wm/power_button_controller.cc b/ash/wm/power_button_controller.cc |
index 55d59931ee8f75ef047a408b53b320f0f9914044..05ce1363ce6b37d32b1e366ea12e092816c7c8cc 100644 |
--- a/ash/wm/power_button_controller.cc |
+++ b/ash/wm/power_button_controller.cc |
@@ -164,6 +164,13 @@ void GetContainers(PowerButtonController::ContainerGroup group, |
aura::Window::Windows* containers) { |
aura::RootWindow* root_window = Shell::GetPrimaryRootWindow(); |
+ aura::Window* wallpaper_container = Shell::GetContainer( |
+ root_window, |
+ internal::kShellWindowId_DesktopBackgroundContainer); |
+ aura::Window* lock_wallpaper_container = Shell::GetContainer( |
+ root_window, |
+ internal::kShellWindowId_LockScreenBackgroundContainer); |
+ |
aura::Window* non_lock_screen_containers = Shell::GetContainer( |
root_window, |
internal::kShellWindowId_NonLockScreenContainersContainer); |
@@ -177,18 +184,24 @@ void GetContainers(PowerButtonController::ContainerGroup group, |
containers->clear(); |
switch (group) { |
case PowerButtonController::ALL_CONTAINERS: |
+ containers->push_back(wallpaper_container); |
containers->push_back(non_lock_screen_containers); |
+ containers->push_back(lock_wallpaper_container); |
containers->push_back(lock_screen_containers); |
containers->push_back(lock_screen_related_containers); |
break; |
- case PowerButtonController::SCREEN_LOCKER_CONTAINERS: |
+ case PowerButtonController::SCREEN_LOCKER_CONTAINERS_EXCEPT_WALLPAPER: |
containers->push_back(lock_screen_containers); |
break; |
case PowerButtonController::SCREEN_LOCKER_AND_RELATED_CONTAINERS: |
+ containers->push_back(lock_wallpaper_container); |
containers->push_back(lock_screen_containers); |
containers->push_back(lock_screen_related_containers); |
break; |
case PowerButtonController::ALL_BUT_SCREEN_LOCKER_AND_RELATED_CONTAINERS: |
+ // Doesn't include wallpaper_container as it is now excluded from |
+ // these animations (i.e. restore). |
+ // New lock/shutdown transition may change that. |
containers->push_back(non_lock_screen_containers); |
break; |
default: |
@@ -333,7 +346,8 @@ void PowerButtonController::OnLockStateChanged(bool locked) { |
} |
if (locked) { |
- StartAnimation(SCREEN_LOCKER_CONTAINERS, ANIMATION_FADE_IN); |
+ StartAnimation(SCREEN_LOCKER_CONTAINERS_EXCEPT_WALLPAPER, |
+ ANIMATION_FADE_IN); |
lock_timer_.Stop(); |
lock_fail_timer_.Stop(); |
@@ -368,7 +382,8 @@ void PowerButtonController::OnStartingLock() { |
ANIMATION_FAST_CLOSE); |
// Hide the screen locker containers so we can make them fade in later. |
- StartAnimation(SCREEN_LOCKER_CONTAINERS, ANIMATION_HIDE); |
+ StartAnimation(SCREEN_LOCKER_CONTAINERS_EXCEPT_WALLPAPER, |
+ ANIMATION_HIDE); |
} |
void PowerButtonController::OnPowerButtonEvent( |