Chromium Code Reviews| Index: ash/wm/power_button_controller.h |
| diff --git a/ash/wm/power_button_controller.h b/ash/wm/power_button_controller.h |
| index db8ec4f492b785b241c8c27c2f95a778b514acd5..dd41ee1cc37b647a59832e30cc2f6dbdd2d7af17 100644 |
| --- a/ash/wm/power_button_controller.h |
| +++ b/ash/wm/power_button_controller.h |
| @@ -23,111 +23,23 @@ namespace ui { |
| class Layer; |
| } |
| + |
|
Nikita (slow)
2012/10/09 18:30:06
nit: drop extra empty line
Denis Kuznetsov (DE-MUC)
2012/10/11 11:37:12
Done.
|
| namespace ash { |
| -// Performs system-related functions on behalf of PowerButtonController. |
| -class ASH_EXPORT PowerButtonControllerDelegate { |
| - public: |
| - PowerButtonControllerDelegate() {} |
| - virtual ~PowerButtonControllerDelegate() {} |
| +namespace test { |
| +class PowerButtonControllerTest; |
| +} |
| - virtual void RequestLockScreen() = 0; |
| - virtual void RequestShutdown() = 0; |
| - |
| - private: |
| - DISALLOW_COPY_AND_ASSIGN(PowerButtonControllerDelegate); |
| -}; |
| +class SessionStateController; |
| // Displays onscreen animations and locks or suspends the system in response to |
| // the power button being pressed or released. |
| -class ASH_EXPORT PowerButtonController : public aura::RootWindowObserver, |
| - public ShellObserver { |
| +class ASH_EXPORT PowerButtonController : public aura::RootWindowObserver { |
|
Daniel Erat
2012/10/09 17:28:55
do you still need RootWindowObserver?
Denis Kuznetsov (DE-MUC)
2012/10/11 11:37:12
Done.
|
| public: |
| - // Helper class used by tests to access internal state. |
| - class ASH_EXPORT TestApi { |
| - public: |
| - explicit TestApi(PowerButtonController* controller); |
| - |
| - virtual ~TestApi(); |
| - |
| - bool lock_timer_is_running() const { |
| - return controller_->lock_timer_.IsRunning(); |
| - } |
| - bool lock_fail_timer_is_running() const { |
| - return controller_->lock_fail_timer_.IsRunning(); |
| - } |
| - bool lock_to_shutdown_timer_is_running() const { |
| - return controller_->lock_to_shutdown_timer_.IsRunning(); |
| - } |
| - bool shutdown_timer_is_running() const { |
| - return controller_->shutdown_timer_.IsRunning(); |
| - } |
| - bool real_shutdown_timer_is_running() const { |
| - return controller_->real_shutdown_timer_.IsRunning(); |
| - } |
| - bool hide_black_layer_timer_is_running() const { |
| - return animator_api_->hide_black_layer_timer_is_running(); |
| - } |
| - |
| - void trigger_lock_timeout() { |
| - controller_->OnLockTimeout(); |
| - controller_->lock_timer_.Stop(); |
| - } |
| - void trigger_lock_fail_timeout() { |
| - controller_->OnLockFailTimeout(); |
| - controller_->lock_fail_timer_.Stop(); |
| - } |
| - void trigger_lock_to_shutdown_timeout() { |
| - controller_->OnLockToShutdownTimeout(); |
| - controller_->lock_to_shutdown_timer_.Stop(); |
| - } |
| - void trigger_shutdown_timeout() { |
| - controller_->OnShutdownTimeout(); |
| - controller_->shutdown_timer_.Stop(); |
| - } |
| - void trigger_real_shutdown_timeout() { |
| - controller_->OnRealShutdownTimeout(); |
| - controller_->real_shutdown_timer_.Stop(); |
| - } |
| - void TriggerHideBlackLayerTimeout() { |
| - animator_api_->TriggerHideBlackLayerTimeout(); |
| - } |
| - |
| - // Returns true if containers of a given |container_mask| |
| - // were last animated with |type| (probably; the analysis is fairly ad-hoc). |
| - // |container_mask| is a bitfield of a Container. |
| - bool ContainersAreAnimated(int container_mask, |
| - internal::SessionStateAnimator::AnimationType type) const { |
| - return animator_api_->ContainersAreAnimated(container_mask, type); |
| - } |
| - |
| - // Returns true if |black_layer_| is non-NULL and visible. |
| - bool BlackLayerIsVisible() { |
| - return animator_api_->BlackLayerIsVisible(); |
| - } |
| - |
| - // Returns |black_layer_|'s bounds, or an empty rect if the layer is |
| - // NULL. |
| - gfx::Rect GetBlackLayerBounds() const { |
| - return animator_api_->GetBlackLayerBounds(); |
| - } |
| - |
| - private: |
| - PowerButtonController* controller_; // not owned |
| - |
| - scoped_ptr<internal::SessionStateAnimator::TestApi> animator_api_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(TestApi); |
| - }; |
| - |
| - PowerButtonController(); |
| + PowerButtonController(SessionStateController* controller); |
|
Nikita (slow)
2012/10/09 18:30:06
Add explicit
http://google-styleguide.googlecode.c
Denis Kuznetsov (DE-MUC)
2012/10/11 11:37:12
Done.
|
| virtual ~PowerButtonController(); |
| - void set_delegate(PowerButtonControllerDelegate* delegate) { |
| - delegate_.reset(delegate); |
| - } |
| - |
| void set_has_legacy_power_button_for_test(bool legacy) { |
| has_legacy_power_button_ = legacy; |
| } |
| @@ -135,56 +47,12 @@ class ASH_EXPORT PowerButtonController : public aura::RootWindowObserver, |
| // Called when the current screen brightness changes. |
| void OnScreenBrightnessChanged(double percent); |
| - // Called when Chrome gets a request to display the lock screen. |
| - void OnStartingLock(); |
| - |
| // Called when the power or lock buttons are pressed or released. |
| void OnPowerButtonEvent(bool down, const base::TimeTicks& timestamp); |
| void OnLockButtonEvent(bool down, const base::TimeTicks& timestamp); |
| - // Displays the shutdown animation and requests shutdown when it's done. |
| - void RequestShutdown(); |
| - |
| - virtual void OnRootWindowHostCloseRequested( |
| - const aura::RootWindow* root) OVERRIDE; |
| - |
| - // ShellObserver overrides: |
| - virtual void OnLoginStateChanged(user::LoginStatus status) OVERRIDE; |
| - virtual void OnAppTerminating() OVERRIDE; |
| - virtual void OnLockStateChanged(bool locked) OVERRIDE; |
| - |
| private: |
| - bool LoggedInAsNonGuest() const; |
| - |
| - // Requests that the screen be locked and starts |lock_fail_timer_|. |
| - void OnLockTimeout(); |
| - |
| - // Aborts the pre-lock animation. |
| - void OnLockFailTimeout(); |
| - |
| - // Displays the pre-shutdown animation and starts |shutdown_timer_|. |
| - void OnLockToShutdownTimeout(); |
| - |
| - // Calls StartShutdownAnimationAndRequestShutdown(). |
| - void OnShutdownTimeout(); |
| - |
| - // Requests that the machine be shut down. |
| - void OnRealShutdownTimeout(); |
| - |
| - // Puts us into the pre-lock or pre-shutdown state. |
| - void StartLockTimer(); |
| - void StartShutdownTimer(); |
| - |
| - // Displays the shutdown animation and starts |real_shutdown_timer_|. |
| - void StartShutdownAnimationAndRequestShutdown(); |
| - |
| - scoped_ptr<PowerButtonControllerDelegate> delegate_; |
| - |
| - // The current login status. |
| - user::LoginStatus login_status_; |
| - |
| - // Original login status during locked. LOGGED_IN_NONE if it's not locked. |
| - user::LoginStatus unlocked_login_status_; |
| + friend class test::PowerButtonControllerTest; |
| // Are the power or lock buttons currently held? |
| bool power_button_down_; |
| @@ -193,37 +61,11 @@ class ASH_EXPORT PowerButtonController : public aura::RootWindowObserver, |
| // Is the screen currently turned off? |
| bool screen_is_off_; |
| - // Are we in the process of shutting the machine down? |
| - bool shutting_down_; |
| - |
| // Was a command-line switch set telling us that we're running on hardware |
| // that misreports power button releases? |
| bool has_legacy_power_button_; |
| - // Started when the user first presses the power button while in a |
| - // logged-in-as-a-non-guest-user, unlocked state. When it fires, we lock the |
| - // screen. |
| - base::OneShotTimer<PowerButtonController> lock_timer_; |
| - |
| - // Started when we request that the screen be locked. When it fires, we |
| - // assume that our request got dropped. |
| - base::OneShotTimer<PowerButtonController> lock_fail_timer_; |
| - |
| - // Started when the screen is locked while the power button is held. Adds a |
| - // delay between the appearance of the lock screen and the beginning of the |
| - // pre-shutdown animation. |
| - base::OneShotTimer<PowerButtonController> lock_to_shutdown_timer_; |
| - |
| - // Started when we begin displaying the pre-shutdown animation. When it |
| - // fires, we start the shutdown animation and get ready to request shutdown. |
| - base::OneShotTimer<PowerButtonController> shutdown_timer_; |
| - |
| - // Started when we display the shutdown animation. When it fires, we actually |
| - // request shutdown. Gives the animation time to complete before Chrome, X, |
| - // etc. are shut down. |
| - base::OneShotTimer<PowerButtonController> real_shutdown_timer_; |
| - |
| - scoped_ptr<internal::SessionStateAnimator> animator_; |
| + SessionStateController* controller_; // Not owned. |
| DISALLOW_COPY_AND_ASSIGN(PowerButtonController); |
| }; |