Index: Source/core/html/track/TrackEvent.cpp |
diff --git a/Source/core/html/track/TrackEvent.cpp b/Source/core/html/track/TrackEvent.cpp |
index 293a9478f924966479334890e35c1cf180cf2ff9..e3d306258a3a50dc49863c83c9deac44dd59ade5 100644 |
--- a/Source/core/html/track/TrackEvent.cpp |
+++ b/Source/core/html/track/TrackEvent.cpp |
@@ -33,19 +33,25 @@ |
namespace blink { |
-TrackEventInit::TrackEventInit() |
-{ |
-} |
- |
- |
TrackEvent::TrackEvent() |
{ |
} |
TrackEvent::TrackEvent(const AtomicString& type, const TrackEventInit& initializer) |
: Event(type, initializer) |
- , m_track(initializer.track) |
{ |
+ if (!initializer.hasTrack()) |
+ return; |
+ |
+ const VideoTrackOrAudioTrackOrTextTrack& track = initializer.track(); |
+ if (track.isVideoTrack()) |
+ m_track = track.getAsVideoTrack(); |
+ else if (track.isAudioTrack()) |
+ m_track = track.getAsAudioTrack(); |
+ else if (track.isTextTrack()) |
+ m_track = track.getAsTextTrack(); |
+ else |
+ ASSERT_NOT_REACHED(); |
} |
TrackEvent::~TrackEvent() |