diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/events/animation_playback_event.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/events/animation_playback_event.cc | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/chromium/third_party/blink/renderer/core/events/animation_playback_event.cc b/chromium/third_party/blink/renderer/core/events/animation_playback_event.cc index 56048609344..a1f113c9a25 100644 --- a/chromium/third_party/blink/renderer/core/events/animation_playback_event.cc +++ b/chromium/third_party/blink/renderer/core/events/animation_playback_event.cc @@ -4,28 +4,34 @@ #include "third_party/blink/renderer/core/events/animation_playback_event.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_animation_playback_event_init.h" +#include "third_party/blink/renderer/core/animation/timing.h" #include "third_party/blink/renderer/core/event_interface_names.h" namespace blink { -AnimationPlaybackEvent::AnimationPlaybackEvent(const AtomicString& type, - double current_time, - double timeline_time) - : Event(type, Bubbles::kNo, Cancelable::kNo) { - if (!std::isnan(current_time)) - current_time_ = current_time; - if (!std::isnan(timeline_time)) - timeline_time_ = timeline_time; +AnimationPlaybackEvent::AnimationPlaybackEvent( + const AtomicString& type, + base::Optional<double> current_time, + base::Optional<double> timeline_time) + : Event(type, Bubbles::kNo, Cancelable::kNo), + current_time_(current_time), + timeline_time_(timeline_time) { + DCHECK(!current_time_ || !std::isnan(current_time_.value())); + DCHECK(!timeline_time_ || !std::isnan(timeline_time_.value())); } AnimationPlaybackEvent::AnimationPlaybackEvent( const AtomicString& type, const AnimationPlaybackEventInit* initializer) : Event(type, initializer) { - if (initializer->hasCurrentTime()) + if (initializer->hasCurrentTime() && !std::isnan(initializer->currentTime())) current_time_ = initializer->currentTime(); - if (initializer->hasTimelineTime()) + if (initializer->hasTimelineTime() && + !std::isnan(initializer->timelineTime())) timeline_time_ = initializer->timelineTime(); + DCHECK(!current_time_ || !std::isnan(current_time_.value())); + DCHECK(!timeline_time_ || !std::isnan(timeline_time_.value())); } AnimationPlaybackEvent::~AnimationPlaybackEvent() = default; @@ -44,7 +50,7 @@ const AtomicString& AnimationPlaybackEvent::InterfaceName() const { return event_interface_names::kAnimationPlaybackEvent; } -void AnimationPlaybackEvent::Trace(blink::Visitor* visitor) { +void AnimationPlaybackEvent::Trace(Visitor* visitor) { Event::Trace(visitor); } |