summaryrefslogtreecommitdiffstats
path: root/ash/app_list
diff options
context:
space:
mode:
authorvollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-01 17:19:22 +0000
committervollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-01 17:19:22 +0000
commitc3287f6e7f7c23c1f20729d4729ffdd84658c4b7 (patch)
treed3cd8bb3f63836aaa4058e2834c8ba28791ffc23 /ash/app_list
parent32b9c269a98692acf748f7594425d586e838cf96 (diff)
downloadchromium_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.cc20
-rw-r--r--ash/app_list/app_list.h11
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;