diff options
author | antrim@chromium.org <antrim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-20 22:35:43 +0000 |
---|---|---|
committer | antrim@chromium.org <antrim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-20 22:35:43 +0000 |
commit | df55f237ba4267add48468a1ee5b9498642d0dce (patch) | |
tree | 9be3f01ccfb2c3398b33682c279689b493386458 /ui/compositor/layer_animator_unittest.cc | |
parent | f51867e134ea4120064e5be1e2e976433e3afd68 (diff) | |
download | chromium_src-df55f237ba4267add48468a1ee5b9498642d0dce.zip chromium_src-df55f237ba4267add48468a1ee5b9498642d0dce.tar.gz chromium_src-df55f237ba4267add48468a1ee5b9498642d0dce.tar.bz2 |
Let Layer.SetNNN methods respect ENQUEUE_ANIMATION strategy.
It will fix regression with no scale animation on locking.
BUG=138171
Review URL: https://chromiumcodereview.appspot.com/11280090
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168891 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/compositor/layer_animator_unittest.cc')
-rw-r--r-- | ui/compositor/layer_animator_unittest.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ui/compositor/layer_animator_unittest.cc b/ui/compositor/layer_animator_unittest.cc index ff6d164..e1eb67c 100644 --- a/ui/compositor/layer_animator_unittest.cc +++ b/ui/compositor/layer_animator_unittest.cc @@ -1737,4 +1737,34 @@ TEST(LayerAnimatorTest, ObserverDeletesAnimatorAfterAborted) { EXPECT_TRUE(observer_was_deleted); } + +TEST(LayerAnimatorTest, TestSetterRespectEnqueueStrategy) { + scoped_refptr<LayerAnimator> animator(LayerAnimator::CreateDefaultAnimator()); + animator->set_disable_timer_for_test(true); + + TestLayerAnimationDelegate delegate; + animator->SetDelegate(&delegate); + + float start_opacity = 0.0f; + float target_opacity = 1.0f; + float magic_opacity = 0.123f; + + delegate.SetOpacityFromAnimation(start_opacity); + + ScopedLayerAnimationSettings settings(animator); + settings.SetPreemptionStrategy( + LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET); + settings.SetTransitionDuration(base::TimeDelta::FromSeconds(1)); + animator->SetOpacity(target_opacity); + + EXPECT_EQ(start_opacity, delegate.GetOpacityForAnimation()); + + settings.SetPreemptionStrategy( + LayerAnimator::ENQUEUE_NEW_ANIMATION); + settings.SetTransitionDuration(base::TimeDelta()); + animator->SetOpacity(magic_opacity); + + EXPECT_EQ(start_opacity, delegate.GetOpacityForAnimation()); +} + } // namespace ui |