From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Source/WebCore/html/track/TrackEvent.cpp | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'Source/WebCore/html/track/TrackEvent.cpp') diff --git a/Source/WebCore/html/track/TrackEvent.cpp b/Source/WebCore/html/track/TrackEvent.cpp index 16eb4d8be..7da7d5117 100644 --- a/Source/WebCore/html/track/TrackEvent.cpp +++ b/Source/WebCore/html/track/TrackEvent.cpp @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -29,22 +29,34 @@ #include "TrackEvent.h" -#include "EventNames.h" - namespace WebCore { -TrackEventInit::TrackEventInit() +static inline std::optional convertToTrackEventTrack(Ref&& track) { + switch (track->type()) { + case TrackBase::BaseTrack: + return std::nullopt; + case TrackBase::TextTrack: + return TrackEvent::TrackEventTrack { RefPtr(&downcast(track.get())) }; + case TrackBase::AudioTrack: + return TrackEvent::TrackEventTrack { RefPtr(&downcast(track.get())) }; + case TrackBase::VideoTrack: + return TrackEvent::TrackEventTrack { RefPtr(&downcast(track.get())) }; + } + + ASSERT_NOT_REACHED(); + return std::nullopt; } - -TrackEvent::TrackEvent() +TrackEvent::TrackEvent(const AtomicString& type, bool canBubble, bool cancelable, Ref&& track) + : Event(type, canBubble, cancelable) + , m_track(convertToTrackEventTrack(WTFMove(track))) { } -TrackEvent::TrackEvent(const AtomicString& type, const TrackEventInit& initializer) - : Event(type, initializer) - , m_track(initializer.track) +TrackEvent::TrackEvent(const AtomicString& type, Init&& initializer, IsTrusted isTrusted) + : Event(type, initializer, isTrusted) + , m_track(WTFMove(initializer.track)) { } -- cgit v1.2.1