| Index: ash/wm/power_button_controller.cc
|
| diff --git a/ash/wm/power_button_controller.cc b/ash/wm/power_button_controller.cc
|
| index 9359b8a2bc5fb2a8bb06d2c42a842c699be6aadb..685060806036a8a0ed30dc89830fa437ce0299d4 100644
|
| --- a/ash/wm/power_button_controller.cc
|
| +++ b/ash/wm/power_button_controller.cc
|
| @@ -5,8 +5,8 @@
|
| #include "ash/wm/power_button_controller.h"
|
|
|
| #include "ash/ash_switches.h"
|
| +#include "ash/session_state_delegate.h"
|
| #include "ash/shell.h"
|
| -#include "ash/shell_delegate.h"
|
| #include "ash/shell_window_ids.h"
|
| #include "ash/wm/session_state_animator.h"
|
| #include "ash/wm/session_state_controller.h"
|
| @@ -45,13 +45,15 @@ void PowerButtonController::OnPowerButtonEvent(
|
| if (screen_is_off_)
|
| return;
|
|
|
| - Shell* shell = Shell::GetInstance();
|
| + const SessionStateDelegate* session_state_delegate =
|
| + Shell::GetInstance()->session_state_delegate();
|
| if (has_legacy_power_button_) {
|
| // If power button releases won't get reported correctly because we're not
|
| // running on official hardware, just lock the screen or shut down
|
| // immediately.
|
| if (down) {
|
| - if (shell->CanLockScreen() && !shell->IsScreenLocked() &&
|
| + if (session_state_delegate->CanLockScreen() &&
|
| + !session_state_delegate->IsScreenLocked() &&
|
| !controller_->LockRequested()) {
|
| controller_->StartLockAnimationAndLockImmediately();
|
| } else {
|
| @@ -64,10 +66,12 @@ void PowerButtonController::OnPowerButtonEvent(
|
| if (controller_->LockRequested())
|
| return;
|
|
|
| - if (shell->CanLockScreen() && !shell->IsScreenLocked())
|
| + if (session_state_delegate->CanLockScreen() &&
|
| + !session_state_delegate->IsScreenLocked()) {
|
| controller_->StartLockAnimation(true);
|
| - else
|
| + } else {
|
| controller_->StartShutdownAnimation();
|
| + }
|
| } else { // Button is up.
|
| if (controller_->CanCancelLockAnimation())
|
| controller_->CancelLockAnimation();
|
| @@ -81,9 +85,12 @@ void PowerButtonController::OnLockButtonEvent(
|
| bool down, const base::TimeTicks& timestamp) {
|
| lock_button_down_ = down;
|
|
|
| - Shell* shell = Shell::GetInstance();
|
| - if (!shell->CanLockScreen() || shell->IsScreenLocked() ||
|
| - controller_->LockRequested() || controller_->ShutdownRequested()) {
|
| + const SessionStateDelegate* session_state_delegate =
|
| + Shell::GetInstance()->session_state_delegate();
|
| + if (!session_state_delegate->CanLockScreen() ||
|
| + session_state_delegate->IsScreenLocked() ||
|
| + controller_->LockRequested() ||
|
| + controller_->ShutdownRequested()) {
|
| return;
|
| }
|
|
|
|
|