Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1820)

Unified Diff: ash/wm/lock_state_controller_impl2.cc

Issue 24980006: ash: Remove old lock animation implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge again Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/wm/lock_state_controller_impl2.h ('k') | ash/wm/lock_state_controller_impl2_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « ash/wm/lock_state_controller_impl2.h ('k') | ash/wm/lock_state_controller_impl2_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698