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

Unified Diff: third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp

Issue 2775143002: Implement frames() timing function (Closed)
Patch Set: Fix behaviour outside input range [0,1] Created 3 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
Index: third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
diff --git a/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp b/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
index 50c26439a9e049c254b1dd3dc2455af9b703420e..e681582e0ae9346c73e8c1edce85a81ed93043a1 100644
--- a/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
+++ b/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
@@ -66,6 +66,7 @@ class AnimationCompositorAnimationsTest : public ::testing::Test {
RefPtr<TimingFunction> cubic_ease_timing_function_;
RefPtr<TimingFunction> cubic_custom_timing_function_;
RefPtr<TimingFunction> step_timing_function_;
+ RefPtr<TimingFunction> frames_timing_function_;
Timing timing_;
CompositorAnimations::CompositorTiming compositor_timing_;
@@ -87,6 +88,7 @@ class AnimationCompositorAnimationsTest : public ::testing::Test {
CubicBezierTimingFunction::Create(1, 2, 3, 4);
step_timing_function_ =
StepsTimingFunction::Create(1, StepsTimingFunction::StepPosition::END);
+ frames_timing_function_ = FramesTimingFunction::Create(2);
timing_ = CreateCompositableTiming();
compositor_timing_ = CompositorAnimations::CompositorTiming();
@@ -610,6 +612,15 @@ TEST_F(AnimationCompositorAnimationsTest,
}
TEST_F(AnimationCompositorAnimationsTest,
+ isCandidateForAnimationOnCompositorTimingFunctionFrames) {
+ timing_.timing_function = frames_timing_function_;
+ EXPECT_TRUE(IsCandidateForAnimationOnCompositor(
+ timing_, *keyframe_animation_effect2_));
+ EXPECT_TRUE(IsCandidateForAnimationOnCompositor(
+ timing_, *keyframe_animation_effect5_));
+}
+
+TEST_F(AnimationCompositorAnimationsTest,
isCandidateForAnimationOnCompositorTimingFunctionChainedLinear) {
EXPECT_TRUE(IsCandidateForAnimationOnCompositor(
timing_, *keyframe_animation_effect2_));
@@ -679,23 +690,29 @@ TEST_F(AnimationCompositorAnimationsTest,
}
TEST_F(AnimationCompositorAnimationsTest,
- isCandidateForAnimationOnCompositorTimingFunctionWithStepOkay) {
+ isCandidateForAnimationOnCompositorTimingFunctionWithStepOrFrameOkay) {
(*keyframe_vector2_)[0]->SetEasing(step_timing_function_.Get());
keyframe_animation_effect2_ =
AnimatableValueKeyframeEffectModel::Create(*keyframe_vector2_);
EXPECT_TRUE(IsCandidateForAnimationOnCompositor(
timing_, *keyframe_animation_effect2_));
+ (*keyframe_vector2_)[0]->SetEasing(frames_timing_function_.Get());
+ keyframe_animation_effect2_ =
+ AnimatableValueKeyframeEffectModel::Create(*keyframe_vector2_);
+ EXPECT_TRUE(IsCandidateForAnimationOnCompositor(
+ timing_, *keyframe_animation_effect2_));
+
(*keyframe_vector5_)[0]->SetEasing(step_timing_function_.Get());
(*keyframe_vector5_)[1]->SetEasing(linear_timing_function_.Get());
(*keyframe_vector5_)[2]->SetEasing(cubic_ease_timing_function_.Get());
- (*keyframe_vector5_)[3]->SetEasing(linear_timing_function_.Get());
+ (*keyframe_vector5_)[3]->SetEasing(frames_timing_function_.Get());
keyframe_animation_effect5_ =
AnimatableValueKeyframeEffectModel::Create(*keyframe_vector5_);
EXPECT_TRUE(IsCandidateForAnimationOnCompositor(
timing_, *keyframe_animation_effect5_));
- (*keyframe_vector5_)[0]->SetEasing(linear_timing_function_.Get());
+ (*keyframe_vector5_)[0]->SetEasing(frames_timing_function_.Get());
(*keyframe_vector5_)[1]->SetEasing(step_timing_function_.Get());
(*keyframe_vector5_)[2]->SetEasing(cubic_ease_timing_function_.Get());
(*keyframe_vector5_)[3]->SetEasing(linear_timing_function_.Get());
@@ -705,7 +722,7 @@ TEST_F(AnimationCompositorAnimationsTest,
timing_, *keyframe_animation_effect5_));
(*keyframe_vector5_)[0]->SetEasing(linear_timing_function_.Get());
- (*keyframe_vector5_)[1]->SetEasing(cubic_ease_timing_function_.Get());
+ (*keyframe_vector5_)[1]->SetEasing(frames_timing_function_.Get());
(*keyframe_vector5_)[2]->SetEasing(cubic_ease_timing_function_.Get());
(*keyframe_vector5_)[3]->SetEasing(step_timing_function_.Get());
keyframe_animation_effect5_ =

Powered by Google App Engine
This is Rietveld 408576698