summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/events/animation_playback_event.cc
diff options
context:
space:
mode:
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.cc28
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);
}