summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-11 11:32:04 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-18 13:40:17 +0000
commit31ccca0778db85c159634478b4ec7997f6704860 (patch)
tree3d33fc3afd9d5ec95541e1bbe074a9cf8da12a0e /chromium/third_party/blink/renderer/core/animation/animation_effect_test.cc
parent248b70b82a40964d5594eb04feca0fa36716185d (diff)
downloadqtwebengine-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.cc43
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) {