diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-11 11:32:04 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-18 13:40:17 +0000 |
commit | 31ccca0778db85c159634478b4ec7997f6704860 (patch) | |
tree | 3d33fc3afd9d5ec95541e1bbe074a9cf8da12a0e /chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc | |
parent | 248b70b82a40964d5594eb04feca0fa36716185d (diff) | |
download | qtwebengine-chromium-31ccca0778db85c159634478b4ec7997f6704860.tar.gz |
BASELINE: Update Chromium to 80.0.3987.136
Change-Id: I98e1649aafae85ba3a83e67af00bb27ef301db7b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc b/chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc index 807239ec8f5..f6af3f88363 100644 --- a/chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc +++ b/chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc @@ -95,21 +95,23 @@ class TestAnimationEffect : public AnimationEffect { } AnimationTimeDelta CalculateTimeToEffectChange( bool forwards, - double local_time, + base::Optional<double> local_time, double time_to_next_iteration) const override { + DCHECK(!local_time || !IsNull(local_time.value())); local_time_ = local_time; - time_to_next_iteration_ = time_to_next_iteration; + time_to_next_iteration_ = ValueOrUnresolved(time_to_next_iteration); return AnimationTimeDelta::FromSecondsD(-1); } double TakeLocalTime() { - const double result = local_time_; - local_time_ = NullValue(); + DCHECK(local_time_); + const double result = local_time_.value(); + local_time_.reset(); return result; } - double TakeTimeToNextIteration() { - const double result = time_to_next_iteration_; - time_to_next_iteration_ = NullValue(); + base::Optional<double> TakeTimeToNextIteration() { + const base::Optional<double> result = time_to_next_iteration_; + time_to_next_iteration_.reset(); return result; } @@ -120,8 +122,8 @@ class TestAnimationEffect : public AnimationEffect { private: Member<TestAnimationEffectEventDelegate> event_delegate_; - mutable double local_time_; - mutable double time_to_next_iteration_; + mutable base::Optional<double> local_time_; + mutable base::Optional<double> time_to_next_iteration_; }; TEST(AnimationAnimationEffectTest, Sanity) { @@ -694,31 +696,40 @@ TEST(AnimationAnimationEffectTest, TimeToEffectChange) { animation_node->UpdateInheritedTime(0); EXPECT_EQ(0, animation_node->TakeLocalTime()); - EXPECT_TRUE(std::isinf(animation_node->TakeTimeToNextIteration())); + base::Optional<double> time_to_next_iteration = + animation_node->TakeTimeToNextIteration(); + EXPECT_TRUE(time_to_next_iteration); + EXPECT_TRUE(std::isinf(time_to_next_iteration.value())); // Normal iteration. animation_node->UpdateInheritedTime(1.75); EXPECT_EQ(1.75, animation_node->TakeLocalTime()); - EXPECT_NEAR(0.05, animation_node->TakeTimeToNextIteration(), - 0.000000000000001); + time_to_next_iteration = animation_node->TakeTimeToNextIteration(); + EXPECT_TRUE(time_to_next_iteration); + EXPECT_NEAR(0.05, time_to_next_iteration.value(), 0.000000000000001); // Reverse iteration. animation_node->UpdateInheritedTime(2.75); EXPECT_EQ(2.75, animation_node->TakeLocalTime()); - EXPECT_NEAR(0.05, animation_node->TakeTimeToNextIteration(), - 0.000000000000001); + time_to_next_iteration = animation_node->TakeTimeToNextIteration(); + EXPECT_TRUE(time_to_next_iteration); + EXPECT_NEAR(0.05, time_to_next_iteration.value(), 0.000000000000001); // Item ends before iteration finishes. animation_node->UpdateInheritedTime(3.4); EXPECT_EQ(Timing::kPhaseActive, animation_node->GetPhase()); EXPECT_EQ(3.4, animation_node->TakeLocalTime()); - EXPECT_TRUE(std::isinf(animation_node->TakeTimeToNextIteration())); + time_to_next_iteration = animation_node->TakeTimeToNextIteration(); + EXPECT_TRUE(time_to_next_iteration); + EXPECT_TRUE(std::isinf(time_to_next_iteration.value())); // Item has finished. animation_node->UpdateInheritedTime(3.5); EXPECT_EQ(Timing::kPhaseAfter, animation_node->GetPhase()); EXPECT_EQ(3.5, animation_node->TakeLocalTime()); - EXPECT_TRUE(std::isinf(animation_node->TakeTimeToNextIteration())); + time_to_next_iteration = animation_node->TakeTimeToNextIteration(); + EXPECT_TRUE(time_to_next_iteration); + EXPECT_TRUE(std::isinf(time_to_next_iteration.value())); } TEST(AnimationAnimationEffectTest, UpdateTiming) { |