diff options
author | vollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-01 17:19:22 +0000 |
---|---|---|
committer | vollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-01 17:19:22 +0000 |
commit | c3287f6e7f7c23c1f20729d4729ffdd84658c4b7 (patch) | |
tree | d3cd8bb3f63836aaa4058e2834c8ba28791ffc23 /ash/app_list | |
parent | 32b9c269a98692acf748f7594425d586e838cf96 (diff) | |
download | chromium_src-c3287f6e7f7c23c1f20729d4729ffdd84658c4b7.zip chromium_src-c3287f6e7f7c23c1f20729d4729ffdd84658c4b7.tar.gz chromium_src-c3287f6e7f7c23c1f20729d4729ffdd84658c4b7.tar.bz2 |
Disable animations during aura tests.
This causes all animations scheduled during a test to complete immediately.
After making this change, I noticed some code assumed that animations would not complete synchronously. Some of this code used animation observers, and I while fixing the code I have updated it to use the preferred ImplicitAnimationObserver.
BUG=None
TEST=aura_shell_unittests,aura_unittests,compositor_unittests
Review URL: https://chromiumcodereview.appspot.com/9222018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120074 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/app_list')
-rw-r--r-- | ash/app_list/app_list.cc | 20 | ||||
-rw-r--r-- | ash/app_list/app_list.h | 11 |
2 files changed, 11 insertions, 20 deletions
diff --git a/ash/app_list/app_list.cc b/ash/app_list/app_list.cc index c439bbb..ad9fd01 100644 --- a/ash/app_list/app_list.cc +++ b/ash/app_list/app_list.cc @@ -87,7 +87,6 @@ void AppList::SetWidget(views::Widget* widget) { if (is_visible_) { widget_ = widget; - widget_->AddObserver(this); GetLayer(widget_)->GetAnimator()->AddObserver(this); Shell::GetInstance()->AddRootWindowEventFilter(this); @@ -119,13 +118,19 @@ void AppList::ScheduleAnimation() { return; ui::Layer* layer = GetLayer(widget_); + + // Stop observing previous animation. + StopObservingImplicitAnimations(); + ui::ScopedLayerAnimationSettings app_list_animation(layer->GetAnimator()); + app_list_animation.AddObserver(this); layer->SetBounds(GetPreferredBounds(is_visible_)); layer->SetOpacity(is_visible_ ? 1.0 : 0.0); ui::Layer* default_container_layer = default_container->layer(); ui::ScopedLayerAnimationSettings default_container_animation( default_container_layer->GetAnimator()); + app_list_animation.AddObserver(this); default_container_layer->SetOpacity(is_visible_ ? 0.0 : 1.0); } @@ -159,22 +164,13 @@ ui::GestureStatus AppList::PreHandleGestureEvent( } //////////////////////////////////////////////////////////////////////////////// -// AppList, ui::LayerAnimationObserver implementation: +// AppList, ui::ImplicitAnimationObserver implementation: -void AppList::OnLayerAnimationEnded( - const ui::LayerAnimationSequence* sequence) { +void AppList::OnImplicitAnimationsCompleted() { if (!is_visible_ ) widget_->Close(); } -void AppList::OnLayerAnimationAborted( - const ui::LayerAnimationSequence* sequence) { -} - -void AppList::OnLayerAnimationScheduled( - const ui::LayerAnimationSequence* sequence) { -} - //////////////////////////////////////////////////////////////////////////////// // AppList, views::Widget::Observer implementation: diff --git a/ash/app_list/app_list.h b/ash/app_list/app_list.h index 77b2ecd..b499498 100644 --- a/ash/app_list/app_list.h +++ b/ash/app_list/app_list.h @@ -20,7 +20,7 @@ namespace internal { // While the UI is visible, it monitors things such as app list widget's // activation state and desktop mouse click to auto dismiss the UI. class AppList : public aura::EventFilter, - public ui::LayerAnimationObserver, + public ui::ImplicitAnimationObserver, public views::Widget::Observer { public: AppList(); @@ -54,13 +54,8 @@ class AppList : public aura::EventFilter, aura::Window* target, aura::GestureEvent* event) OVERRIDE; - // ui::LayerAnimationObserver overrides: - virtual void OnLayerAnimationEnded( - const ui::LayerAnimationSequence* sequence) OVERRIDE; - virtual void OnLayerAnimationAborted( - const ui::LayerAnimationSequence* sequence) OVERRIDE; - virtual void OnLayerAnimationScheduled( - const ui::LayerAnimationSequence* sequence) OVERRIDE; + // ui::ImplicitAnimationObserver overrides: + virtual void OnImplicitAnimationsCompleted() OVERRIDE; // views::Widget::Observer overrides: virtual void OnWidgetClosing(views::Widget* widget) OVERRIDE; |