Index: ash/wm/lock_state_controller_impl2.cc |
diff --git a/ash/wm/lock_state_controller_impl2.cc b/ash/wm/lock_state_controller_impl2.cc |
deleted file mode 100644 |
index dae62c4a0cd3bf455867ca49b2a3b0208de0b792..0000000000000000000000000000000000000000 |
--- a/ash/wm/lock_state_controller_impl2.cc |
+++ /dev/null |
@@ -1,643 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ash/wm/lock_state_controller_impl2.h" |
- |
-#include "ash/ash_switches.h" |
-#include "ash/cancel_mode.h" |
-#include "ash/shell.h" |
-#include "ash/shell_delegate.h" |
-#include "ash/shell_window_ids.h" |
-#include "ash/wm/session_state_animator.h" |
-#include "base/bind_helpers.h" |
-#include "base/command_line.h" |
-#include "base/sys_info.h" |
-#include "base/timer/timer.h" |
-#include "ui/aura/root_window.h" |
-#include "ui/compositor/layer_animation_sequence.h" |
-#include "ui/compositor/scoped_layer_animation_settings.h" |
-#include "ui/views/corewm/compound_event_filter.h" |
- |
-namespace ash { |
- |
-namespace { |
- |
-aura::Window* GetBackground() { |
- aura::RootWindow* root_window = Shell::GetPrimaryRootWindow(); |
- return Shell::GetContainer(root_window, |
- internal::kShellWindowId_DesktopBackgroundContainer); |
-} |
- |
-bool IsBackgroundHidden() { |
- return !GetBackground()->IsVisible(); |
-} |
- |
-void ShowBackground() { |
- ui::ScopedLayerAnimationSettings settings( |
- GetBackground()->layer()->GetAnimator()); |
- settings.SetTransitionDuration(base::TimeDelta()); |
- GetBackground()->Show(); |
-} |
- |
-void HideBackground() { |
- ui::ScopedLayerAnimationSettings settings( |
- GetBackground()->layer()->GetAnimator()); |
- settings.SetTransitionDuration(base::TimeDelta()); |
- GetBackground()->Hide(); |
-} |
- |
-// This observer is intended to use in cases when some action has to be taken |
-// once some animation successfully completes (i.e. it was not aborted). |
-// Observer will count a number of sequences it is attached to, and a number of |
-// finished sequences (either Ended or Aborted). Once these two numbers are |
-// equal, observer will delete itself, calling callback passed to constructor if |
-// there were no aborted animations. |
-// This way it can be either used to wait for some animation to be finished in |
-// multiple layers, to wait once a sequence of animations is finished in one |
-// layer or the mixture of both. |
-class AnimationFinishedObserver : public ui::LayerAnimationObserver { |
- public: |
- explicit AnimationFinishedObserver(base::Closure &callback) |
- : callback_(callback), |
- sequences_attached_(0), |
- sequences_completed_(0), |
- paused_(false) { |
- } |
- |
- // Pauses observer: no checks will be made while paused. It can be used when |
- // a sequence has some immediate animations in the beginning, and for |
- // animations that can be tested with flag that makes all animations |
- // immediate. |
- void Pause() { |
- paused_ = true; |
- } |
- |
- // Unpauses observer. It does a check and calls callback if conditions are |
- // met. |
- void Unpause() { |
- if (!paused_) |
- return; |
- paused_ = false; |
- if (sequences_completed_ == sequences_attached_) { |
- callback_.Run(); |
- delete this; |
- } |
- } |
- |
- private: |
- virtual ~AnimationFinishedObserver() { |
- } |
- |
- // LayerAnimationObserver implementation |
- virtual void OnLayerAnimationEnded( |
- ui::LayerAnimationSequence* sequence) OVERRIDE { |
- sequences_completed_++; |
- if ((sequences_completed_ == sequences_attached_) && !paused_) { |
- callback_.Run(); |
- delete this; |
- } |
- } |
- |
- virtual void OnLayerAnimationAborted( |
- ui::LayerAnimationSequence* sequence) OVERRIDE { |
- sequences_completed_++; |
- if ((sequences_completed_ == sequences_attached_) && !paused_) |
- delete this; |
- } |
- |
- virtual void OnLayerAnimationScheduled( |
- ui::LayerAnimationSequence* sequence) OVERRIDE { |
- } |
- |
- virtual void OnAttachedToSequence( |
- ui::LayerAnimationSequence* sequence) OVERRIDE { |
- LayerAnimationObserver::OnAttachedToSequence(sequence); |
- sequences_attached_++; |
- } |
- |
- // Callback to be called. |
- base::Closure callback_; |
- |
- // Number of sequences this observer was attached to. |
- int sequences_attached_; |
- |
- // Number of sequences either ended or aborted. |
- int sequences_completed_; |
- |
- bool paused_; |
- |
- DISALLOW_COPY_AND_ASSIGN(AnimationFinishedObserver); |
-}; |
- |
-} // namespace |
- |
-LockStateControllerImpl2::TestApi::TestApi( |
- LockStateControllerImpl2* controller) |
- : controller_(controller) { |
-} |
- |
-LockStateControllerImpl2::TestApi::~TestApi() { |
-} |
- |
-LockStateControllerImpl2::LockStateControllerImpl2() |
- : login_status_(user::LOGGED_IN_NONE), |
- system_is_locked_(false), |
- shutting_down_(false), |
- shutdown_after_lock_(false), |
- animating_lock_(false), |
- can_cancel_lock_animation_(false) { |
- Shell::GetPrimaryRootWindow()->AddRootWindowObserver(this); |
-} |
- |
-LockStateControllerImpl2::~LockStateControllerImpl2() { |
- Shell::GetPrimaryRootWindow()->RemoveRootWindowObserver(this); |
-} |
- |
-void LockStateControllerImpl2::OnLoginStateChanged( |
- user::LoginStatus status) { |
- if (status != user::LOGGED_IN_LOCKED) |
- login_status_ = status; |
- system_is_locked_ = (status == user::LOGGED_IN_LOCKED); |
-} |
- |
-void LockStateControllerImpl2::OnAppTerminating() { |
- // If we hear that Chrome is exiting but didn't request it ourselves, all we |
- // can really hope for is that we'll have time to clear the screen. |
- // This is also the case when the user signs off. |
- if (!shutting_down_) { |
- shutting_down_ = true; |
- Shell* shell = ash::Shell::GetInstance(); |
- shell->env_filter()->set_cursor_hidden_by_filter(false); |
- shell->cursor_manager()->HideCursor(); |
- animator_->StartAnimation( |
- internal::SessionStateAnimator::kAllContainersMask, |
- internal::SessionStateAnimator::ANIMATION_HIDE_IMMEDIATELY, |
- internal::SessionStateAnimator::ANIMATION_SPEED_IMMEDIATE); |
- } |
-} |
- |
-void LockStateControllerImpl2::OnLockStateChanged(bool locked) { |
- if (shutting_down_ || (system_is_locked_ == locked)) |
- return; |
- |
- system_is_locked_ = locked; |
- |
- if (locked) { |
- StartPostLockAnimation(); |
- lock_fail_timer_.Stop(); |
- } else { |
- StartUnlockAnimationAfterUIDestroyed(); |
- } |
-} |
- |
-void LockStateControllerImpl2::SetLockScreenDisplayedCallback( |
- base::Closure& callback) { |
- lock_screen_displayed_callback_ = callback; |
-} |
- |
-void LockStateControllerImpl2::OnStartingLock() { |
- if (shutting_down_ || system_is_locked_) |
- return; |
- if (animating_lock_) |
- return; |
- StartImmediatePreLockAnimation(false /* request_lock_on_completion */); |
-} |
- |
-void LockStateControllerImpl2::StartLockAnimationAndLockImmediately() { |
- if (animating_lock_) |
- return; |
- StartImmediatePreLockAnimation(true /* request_lock_on_completion */); |
-} |
- |
-void LockStateControllerImpl2::StartLockAnimation( |
- bool shutdown_after_lock) { |
- if (animating_lock_) |
- return; |
- shutdown_after_lock_ = shutdown_after_lock; |
- can_cancel_lock_animation_ = true; |
- |
- StartCancellablePreLockAnimation(); |
-} |
- |
-bool LockStateControllerImpl2::LockRequested() { |
- return lock_fail_timer_.IsRunning(); |
-} |
- |
-bool LockStateControllerImpl2::ShutdownRequested() { |
- return shutting_down_; |
-} |
- |
-bool LockStateControllerImpl2::CanCancelLockAnimation() { |
- return can_cancel_lock_animation_; |
-} |
- |
-void LockStateControllerImpl2::CancelLockAnimation() { |
- if (!CanCancelLockAnimation()) |
- return; |
- shutdown_after_lock_ = false; |
- animating_lock_ = false; |
- CancelPreLockAnimation(); |
-} |
- |
-bool LockStateControllerImpl2::CanCancelShutdownAnimation() { |
- return pre_shutdown_timer_.IsRunning() || |
- shutdown_after_lock_ || |
- lock_to_shutdown_timer_.IsRunning(); |
-} |
- |
-void LockStateControllerImpl2::StartShutdownAnimation() { |
- StartCancellableShutdownAnimation(); |
-} |
- |
-void LockStateControllerImpl2::CancelShutdownAnimation() { |
- if (!CanCancelShutdownAnimation()) |
- return; |
- if (lock_to_shutdown_timer_.IsRunning()) { |
- lock_to_shutdown_timer_.Stop(); |
- return; |
- } |
- if (shutdown_after_lock_) { |
- shutdown_after_lock_ = false; |
- return; |
- } |
- |
- animator_->StartGlobalAnimation( |
- internal::SessionStateAnimator::ANIMATION_UNDO_GRAYSCALE_BRIGHTNESS, |
- internal::SessionStateAnimator::ANIMATION_SPEED_REVERT_SHUTDOWN); |
- pre_shutdown_timer_.Stop(); |
-} |
- |
-void LockStateControllerImpl2::RequestShutdown() { |
- if (!shutting_down_) |
- RequestShutdownImpl(); |
-} |
- |
-void LockStateControllerImpl2::RequestShutdownImpl() { |
- DCHECK(!shutting_down_); |
- shutting_down_ = true; |
- |
- Shell* shell = ash::Shell::GetInstance(); |
- shell->env_filter()->set_cursor_hidden_by_filter(false); |
- shell->cursor_manager()->HideCursor(); |
- |
- StartShutdownAnimationImpl(); |
-} |
- |
-void LockStateControllerImpl2::OnRootWindowHostCloseRequested( |
- const aura::RootWindow*) { |
- Shell::GetInstance()->delegate()->Exit(); |
-} |
- |
-void LockStateControllerImpl2::OnLockFailTimeout() { |
- DCHECK(!system_is_locked_); |
- // Undo lock animation. |
- StartUnlockAnimationAfterUIDestroyed(); |
-} |
- |
-void LockStateControllerImpl2::StartLockToShutdownTimer() { |
- shutdown_after_lock_ = false; |
- lock_to_shutdown_timer_.Stop(); |
- lock_to_shutdown_timer_.Start( |
- FROM_HERE, |
- base::TimeDelta::FromMilliseconds(kLockToShutdownTimeoutMs), |
- this, &LockStateControllerImpl2::OnLockToShutdownTimeout); |
-} |
- |
-void LockStateControllerImpl2::OnLockToShutdownTimeout() { |
- DCHECK(system_is_locked_); |
- StartCancellableShutdownAnimation(); |
-} |
- |
-void LockStateControllerImpl2::StartCancellableShutdownAnimation() { |
- Shell* shell = ash::Shell::GetInstance(); |
- // Hide cursor, but let it reappear if the mouse moves. |
- shell->env_filter()->set_cursor_hidden_by_filter(true); |
- shell->cursor_manager()->HideCursor(); |
- |
- animator_->StartGlobalAnimation( |
- internal::SessionStateAnimator::ANIMATION_GRAYSCALE_BRIGHTNESS, |
- internal::SessionStateAnimator::ANIMATION_SPEED_SHUTDOWN); |
- StartPreShutdownAnimationTimer(); |
-} |
- |
-void LockStateControllerImpl2::StartShutdownAnimationImpl() { |
- animator_->StartGlobalAnimation( |
- internal::SessionStateAnimator::ANIMATION_GRAYSCALE_BRIGHTNESS, |
- internal::SessionStateAnimator::ANIMATION_SPEED_SHUTDOWN); |
- StartRealShutdownTimer(true); |
-} |
- |
-void LockStateControllerImpl2::StartPreShutdownAnimationTimer() { |
- pre_shutdown_timer_.Stop(); |
- pre_shutdown_timer_.Start( |
- FROM_HERE, |
- animator_-> |
- GetDuration(internal::SessionStateAnimator::ANIMATION_SPEED_SHUTDOWN), |
- this, |
- &LockStateControllerImpl2::OnPreShutdownAnimationTimeout); |
-} |
- |
-void LockStateControllerImpl2::OnPreShutdownAnimationTimeout() { |
- shutting_down_ = true; |
- |
- Shell* shell = ash::Shell::GetInstance(); |
- shell->env_filter()->set_cursor_hidden_by_filter(false); |
- shell->cursor_manager()->HideCursor(); |
- |
- StartRealShutdownTimer(false); |
-} |
- |
-void LockStateControllerImpl2::StartRealShutdownTimer( |
- bool with_animation_time) { |
- base::TimeDelta duration = |
- base::TimeDelta::FromMilliseconds(kShutdownRequestDelayMs); |
- if (with_animation_time) { |
- duration += animator_->GetDuration( |
- internal::SessionStateAnimator::ANIMATION_SPEED_SHUTDOWN); |
- } |
- real_shutdown_timer_.Start( |
- FROM_HERE, |
- duration, |
- this, |
- &LockStateControllerImpl2::OnRealShutdownTimeout); |
-} |
- |
-void LockStateControllerImpl2::OnRealShutdownTimeout() { |
- DCHECK(shutting_down_); |
-#if defined(OS_CHROMEOS) |
- if (!base::SysInfo::IsRunningOnChromeOS()) { |
- ShellDelegate* delegate = Shell::GetInstance()->delegate(); |
- if (delegate) { |
- delegate->Exit(); |
- return; |
- } |
- } |
-#endif |
- Shell::GetInstance()->delegate()->RecordUserMetricsAction( |
- UMA_ACCEL_SHUT_DOWN_POWER_BUTTON); |
- delegate_->RequestShutdown(); |
-} |
- |
-void LockStateControllerImpl2::OnLockScreenHide( |
- base::Callback<void(void)>& callback) { |
- StartUnlockAnimationBeforeUIDestroyed(callback); |
-} |
- |
-void LockStateControllerImpl2::LockAnimationCancelled() { |
- can_cancel_lock_animation_ = false; |
- RestoreUnlockedProperties(); |
-} |
- |
-void LockStateControllerImpl2::PreLockAnimationFinished( |
- bool request_lock) { |
- can_cancel_lock_animation_ = false; |
- |
- if (request_lock) { |
- Shell::GetInstance()->delegate()->RecordUserMetricsAction( |
- shutdown_after_lock_ ? |
- UMA_ACCEL_LOCK_SCREEN_POWER_BUTTON : |
- UMA_ACCEL_LOCK_SCREEN_LOCK_BUTTON); |
- delegate_->RequestLockScreen(); |
- } |
- |
- lock_fail_timer_.Start( |
- FROM_HERE, |
- base::TimeDelta::FromMilliseconds(kLockFailTimeoutMs), |
- this, |
- &LockStateControllerImpl2::OnLockFailTimeout); |
-} |
- |
-void LockStateControllerImpl2::PostLockAnimationFinished() { |
- animating_lock_ = false; |
- |
- FOR_EACH_OBSERVER(LockStateObserver, observers_, |
- OnLockStateEvent(LockStateObserver::EVENT_LOCK_ANIMATION_FINISHED)); |
- if (!lock_screen_displayed_callback_.is_null()) { |
- lock_screen_displayed_callback_.Run(); |
- lock_screen_displayed_callback_.Reset(); |
- } |
- if (shutdown_after_lock_) { |
- shutdown_after_lock_ = false; |
- StartLockToShutdownTimer(); |
- } |
-} |
- |
-void LockStateControllerImpl2:: |
-UnlockAnimationAfterUIDestroyedFinished() { |
- RestoreUnlockedProperties(); |
-} |
- |
-void LockStateControllerImpl2::StartImmediatePreLockAnimation( |
- bool request_lock_on_completion) { |
- animating_lock_ = true; |
- |
- StoreUnlockedProperties(); |
- |
- base::Closure next_animation_starter = |
- base::Bind(&LockStateControllerImpl2::PreLockAnimationFinished, |
- base::Unretained(this), request_lock_on_completion); |
- AnimationFinishedObserver* observer = |
- new AnimationFinishedObserver(next_animation_starter); |
- |
- observer->Pause(); |
- |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::NON_LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_LIFT, |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- observer); |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::LAUNCHER, |
- internal::SessionStateAnimator::ANIMATION_FADE_OUT, |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- observer); |
- // Hide the screen locker containers so we can raise them later. |
- animator_->StartAnimation( |
- internal::SessionStateAnimator::LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_HIDE_IMMEDIATELY, |
- internal::SessionStateAnimator::ANIMATION_SPEED_IMMEDIATE); |
- AnimateBackgroundAppearanceIfNecessary( |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- observer); |
- |
- observer->Unpause(); |
- |
- DispatchCancelMode(); |
- FOR_EACH_OBSERVER(LockStateObserver, observers_, |
- OnLockStateEvent(LockStateObserver::EVENT_LOCK_ANIMATION_STARTED)); |
-} |
- |
-void LockStateControllerImpl2::StartCancellablePreLockAnimation() { |
- animating_lock_ = true; |
- StoreUnlockedProperties(); |
- |
- base::Closure next_animation_starter = |
- base::Bind(&LockStateControllerImpl2::PreLockAnimationFinished, |
- base::Unretained(this), true /* request_lock */); |
- AnimationFinishedObserver* observer = |
- new AnimationFinishedObserver(next_animation_starter); |
- |
- observer->Pause(); |
- |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::NON_LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_LIFT, |
- internal::SessionStateAnimator::ANIMATION_SPEED_UNDOABLE, |
- observer); |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::LAUNCHER, |
- internal::SessionStateAnimator::ANIMATION_FADE_OUT, |
- internal::SessionStateAnimator::ANIMATION_SPEED_UNDOABLE, |
- observer); |
- // Hide the screen locker containers so we can raise them later. |
- animator_->StartAnimation( |
- internal::SessionStateAnimator::LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_HIDE_IMMEDIATELY, |
- internal::SessionStateAnimator::ANIMATION_SPEED_IMMEDIATE); |
- AnimateBackgroundAppearanceIfNecessary( |
- internal::SessionStateAnimator::ANIMATION_SPEED_UNDOABLE, |
- observer); |
- |
- DispatchCancelMode(); |
- FOR_EACH_OBSERVER(LockStateObserver, observers_, |
- OnLockStateEvent(LockStateObserver::EVENT_PRELOCK_ANIMATION_STARTED)); |
- observer->Unpause(); |
-} |
- |
-void LockStateControllerImpl2::CancelPreLockAnimation() { |
- base::Closure next_animation_starter = |
- base::Bind(&LockStateControllerImpl2::LockAnimationCancelled, |
- base::Unretained(this)); |
- AnimationFinishedObserver* observer = |
- new AnimationFinishedObserver(next_animation_starter); |
- |
- observer->Pause(); |
- |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::NON_LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_UNDO_LIFT, |
- internal::SessionStateAnimator::ANIMATION_SPEED_UNDO_MOVE_WINDOWS, |
- observer); |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::LAUNCHER, |
- internal::SessionStateAnimator::ANIMATION_FADE_IN, |
- internal::SessionStateAnimator::ANIMATION_SPEED_UNDO_MOVE_WINDOWS, |
- observer); |
- AnimateBackgroundHidingIfNecessary( |
- internal::SessionStateAnimator::ANIMATION_SPEED_UNDO_MOVE_WINDOWS, |
- observer); |
- |
- observer->Unpause(); |
-} |
- |
-void LockStateControllerImpl2::StartPostLockAnimation() { |
- base::Closure next_animation_starter = |
- base::Bind(&LockStateControllerImpl2::PostLockAnimationFinished, |
- base::Unretained(this)); |
- |
- AnimationFinishedObserver* observer = |
- new AnimationFinishedObserver(next_animation_starter); |
- |
- observer->Pause(); |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_RAISE_TO_SCREEN, |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- observer); |
- observer->Unpause(); |
-} |
- |
-void LockStateControllerImpl2::StartUnlockAnimationBeforeUIDestroyed( |
- base::Closure& callback) { |
- animator_->StartAnimationWithCallback( |
- internal::SessionStateAnimator::LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_LIFT, |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- callback); |
-} |
- |
-void LockStateControllerImpl2::StartUnlockAnimationAfterUIDestroyed() { |
- base::Closure next_animation_starter = |
- base::Bind( |
- &LockStateControllerImpl2:: |
- UnlockAnimationAfterUIDestroyedFinished, |
- base::Unretained(this)); |
- |
- AnimationFinishedObserver* observer = |
- new AnimationFinishedObserver(next_animation_starter); |
- |
- observer->Pause(); |
- |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::NON_LOCK_SCREEN_CONTAINERS, |
- internal::SessionStateAnimator::ANIMATION_DROP, |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- observer); |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::LAUNCHER, |
- internal::SessionStateAnimator::ANIMATION_FADE_IN, |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- observer); |
- AnimateBackgroundHidingIfNecessary( |
- internal::SessionStateAnimator::ANIMATION_SPEED_MOVE_WINDOWS, |
- observer); |
- observer->Unpause(); |
-} |
- |
-void LockStateControllerImpl2::StoreUnlockedProperties() { |
- if (!unlocked_properties_) { |
- unlocked_properties_.reset(new UnlockedStateProperties()); |
- unlocked_properties_->background_is_hidden = IsBackgroundHidden(); |
- } |
- if (unlocked_properties_->background_is_hidden) { |
- // Hide background so that it can be animated later. |
- animator_->StartAnimation( |
- internal::SessionStateAnimator::DESKTOP_BACKGROUND, |
- internal::SessionStateAnimator::ANIMATION_HIDE_IMMEDIATELY, |
- internal::SessionStateAnimator::ANIMATION_SPEED_IMMEDIATE); |
- ShowBackground(); |
- } |
-} |
- |
-void LockStateControllerImpl2::RestoreUnlockedProperties() { |
- if (!unlocked_properties_) |
- return; |
- if (unlocked_properties_->background_is_hidden) { |
- HideBackground(); |
- // Restore background visibility. |
- animator_->StartAnimation( |
- internal::SessionStateAnimator::DESKTOP_BACKGROUND, |
- internal::SessionStateAnimator::ANIMATION_FADE_IN, |
- internal::SessionStateAnimator::ANIMATION_SPEED_IMMEDIATE); |
- } |
- unlocked_properties_.reset(); |
-} |
- |
-void LockStateControllerImpl2::AnimateBackgroundAppearanceIfNecessary( |
- internal::SessionStateAnimator::AnimationSpeed speed, |
- ui::LayerAnimationObserver* observer) { |
- if (unlocked_properties_.get() && |
- unlocked_properties_->background_is_hidden) { |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::DESKTOP_BACKGROUND, |
- internal::SessionStateAnimator::ANIMATION_FADE_IN, |
- speed, |
- observer); |
- } |
-} |
- |
-void LockStateControllerImpl2::AnimateBackgroundHidingIfNecessary( |
- internal::SessionStateAnimator::AnimationSpeed speed, |
- ui::LayerAnimationObserver* observer) { |
- if (unlocked_properties_.get() && |
- unlocked_properties_->background_is_hidden) { |
- animator_->StartAnimationWithObserver( |
- internal::SessionStateAnimator::DESKTOP_BACKGROUND, |
- internal::SessionStateAnimator::ANIMATION_FADE_OUT, |
- speed, |
- observer); |
- } |
-} |
- |
-} // namespace ash |