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

Unified Diff: cc/animation/layer_animation_controller_unittest.cc

Issue 1076313006: Animation start scale should be considered for the raster scale (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing and Added more tests Created 5 years, 8 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 | « cc/animation/layer_animation_controller.cc ('k') | cc/layers/draw_properties.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/animation/layer_animation_controller_unittest.cc
diff --git a/cc/animation/layer_animation_controller_unittest.cc b/cc/animation/layer_animation_controller_unittest.cc
index 48e9e926a1d19365c8b4fbee31b8f76bc93610ff..ad1d4c9eecec6d4f33b844ddd82e12e596003c9a 100644
--- a/cc/animation/layer_animation_controller_unittest.cc
+++ b/cc/animation/layer_animation_controller_unittest.cc
@@ -1922,6 +1922,70 @@ TEST(LayerAnimationControllerTest, HasOnlyTranslationTransforms) {
EXPECT_TRUE(controller_impl->HasOnlyTranslationTransforms());
}
+TEST(LayerAnimationControllerTest, AnimationStartScale) {
+ scoped_refptr<LayerAnimationController> controller_impl(
+ LayerAnimationController::Create(0));
+ scoped_ptr<KeyframedTransformAnimationCurve> curve1(
+ KeyframedTransformAnimationCurve::Create());
+
+ TransformOperations operations1;
+ operations1.AppendScale(2.0, 3.0, 4.0);
+ curve1->AddKeyframe(
+ TransformKeyframe::Create(base::TimeDelta(), operations1, nullptr));
+ TransformOperations operations2;
+ curve1->AddKeyframe(TransformKeyframe::Create(
+ base::TimeDelta::FromSecondsD(1.0), operations2, nullptr));
+ scoped_ptr<Animation> animation(
+ Animation::Create(curve1.Pass(), 1, 1, Animation::TRANSFORM));
+ controller_impl->AddAnimation(animation.Pass());
+
+ float start_scale = 0.f;
+ EXPECT_TRUE(controller_impl->AnimationStartScale(&start_scale));
+ EXPECT_EQ(4.f, start_scale);
+
+ scoped_ptr<KeyframedTransformAnimationCurve> curve2(
+ KeyframedTransformAnimationCurve::Create());
+
+ TransformOperations operations3;
+ curve2->AddKeyframe(
+ TransformKeyframe::Create(base::TimeDelta(), operations3, nullptr));
+ operations3.AppendScale(6.0, 5.0, 4.0);
+ curve2->AddKeyframe(TransformKeyframe::Create(
+ base::TimeDelta::FromSecondsD(1.0), operations3, nullptr));
+
+ controller_impl->RemoveAnimation(1);
+ animation = Animation::Create(curve2.Pass(), 2, 2, Animation::TRANSFORM);
+
+ // Reverse Direction
+ animation->set_direction(Animation::DIRECTION_REVERSE);
+ controller_impl->AddAnimation(animation.Pass());
+
+ scoped_ptr<KeyframedTransformAnimationCurve> curve3(
+ KeyframedTransformAnimationCurve::Create());
+
+ TransformOperations operations4;
+ operations4.AppendScale(5.0, 3.0, 1.0);
+ curve3->AddKeyframe(
+ TransformKeyframe::Create(base::TimeDelta(), operations4, nullptr));
+ TransformOperations operations5;
+ curve3->AddKeyframe(TransformKeyframe::Create(
+ base::TimeDelta::FromSecondsD(1.0), operations5, nullptr));
+
+ animation = Animation::Create(curve3.Pass(), 3, 3, Animation::TRANSFORM);
+ controller_impl->AddAnimation(animation.Pass());
+
+ EXPECT_TRUE(controller_impl->AnimationStartScale(&start_scale));
+ EXPECT_EQ(6.f, start_scale);
+
+ controller_impl->GetAnimationById(2)
+ ->SetRunState(Animation::FINISHED, TicksFromSecondsF(0.0));
+
+ // Only unfinished animations should be considered by
+ // AnimationStartScale.
+ EXPECT_TRUE(controller_impl->AnimationStartScale(&start_scale));
+ EXPECT_EQ(5.f, start_scale);
+}
+
TEST(LayerAnimationControllerTest, MaximumTargetScale) {
scoped_refptr<LayerAnimationController> controller_impl(
LayerAnimationController::Create(0));
« no previous file with comments | « cc/animation/layer_animation_controller.cc ('k') | cc/layers/draw_properties.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698