summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/animation/animation_effect.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/animation/animation_effect.h')
-rw-r--r--chromium/third_party/blink/renderer/core/animation/animation_effect.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/animation/animation_effect.h b/chromium/third_party/blink/renderer/core/animation/animation_effect.h
index 79196027d2c..8e25ca4cebb 100644
--- a/chromium/third_party/blink/renderer/core/animation/animation_effect.h
+++ b/chromium/third_party/blink/renderer/core/animation/animation_effect.h
@@ -72,7 +72,9 @@ class CORE_EXPORT AnimationEffect : public ScriptWrappable {
virtual ~EventDelegate() = default;
virtual bool RequiresIterationEvents(const AnimationEffect&) = 0;
virtual void OnEventCondition(const AnimationEffect&, Timing::Phase) = 0;
- virtual void Trace(blink::Visitor* visitor) {}
+ virtual bool IsAnimationEventDelegate() const { return false; }
+ virtual bool IsTransitionEventDelegate() const { return false; }
+ virtual void Trace(Visitor* visitor) {}
};
~AnimationEffect() override = default;
@@ -97,17 +99,22 @@ class CORE_EXPORT AnimationEffect : public ScriptWrappable {
return EnsureCalculated().time_to_reverse_effect_change;
}
double LocalTime() const {
- return EnsureCalculated().local_time.value_or(NullValue());
+ return EnsureCalculated().local_time.value_or(Timing::NullValue());
}
const Timing& SpecifiedTiming() const { return timing_; }
void UpdateSpecifiedTiming(const Timing&);
+ void SetIgnoreCssTimingProperties();
+
EventDelegate* GetEventDelegate() { return event_delegate_; }
+ void SetEventDelegate(EventDelegate* delegate) { event_delegate_ = delegate; }
EffectTiming* getTiming() const;
ComputedEffectTiming* getComputedTiming() const;
void updateTiming(OptionalEffectTiming*,
ExceptionState& = ASSERT_NO_EXCEPTION);
+ double GetCancelTime() const { return cancel_time_; }
+ void SetCancelTime(double cancel_time) { cancel_time_ = cancel_time; }
// Attach/Detach the AnimationEffect from its owning animation.
virtual void Attach(AnimationEffectOwner* owner) { owner_ = owner; }
@@ -118,7 +125,7 @@ class CORE_EXPORT AnimationEffect : public ScriptWrappable {
const Animation* GetAnimationForTesting() const { return GetAnimation(); }
- void Trace(blink::Visitor*) override;
+ void Trace(Visitor*) override;
protected:
explicit AnimationEffect(const Timing&, EventDelegate* = nullptr);
@@ -148,7 +155,7 @@ class CORE_EXPORT AnimationEffect : public ScriptWrappable {
virtual AnimationTimeDelta CalculateTimeToEffectChange(
bool forwards,
base::Optional<double> local_time,
- double time_to_next_iteration) const = 0;
+ AnimationTimeDelta time_to_next_iteration) const = 0;
const Animation* GetAnimation() const;
Animation* GetAnimation();
@@ -160,6 +167,7 @@ class CORE_EXPORT AnimationEffect : public ScriptWrappable {
mutable Timing::CalculatedTiming calculated_;
mutable bool needs_update_;
mutable base::Optional<double> last_update_time_;
+ double cancel_time_;
const Timing::CalculatedTiming& EnsureCalculated() const;
};