Index: Source/core/html/track/TrackBase.cpp |
diff --git a/Source/core/html/track/TrackBase.cpp b/Source/core/html/track/TrackBase.cpp |
index a11c065f41080f3d1d9d5b8d9e5b8b5c4a43105d..a63849b253ff72927a57d93163aea5ccde790f79 100644 |
--- a/Source/core/html/track/TrackBase.cpp |
+++ b/Source/core/html/track/TrackBase.cpp |
@@ -31,18 +31,42 @@ |
#include "config.h" |
#include "core/html/track/TrackBase.h" |
+#include "core/html/HTMLMediaElement.h" |
+ |
namespace WebCore { |
-TrackBase::TrackBase(Type type, const AtomicString& label, const AtomicString& language, const AtomicString& id) |
- : m_type(type) |
+static blink::WebMediaPlayer::TrackId nextTrackId() |
+{ |
+ static blink::WebMediaPlayer::TrackId next = 0; |
+ return ++next; |
+} |
+ |
+TrackBase::TrackBase(Type type, const AtomicString& label, const AtomicString& language, const String& id) |
+ : m_trackId(nextTrackId()) |
+ , m_type(type) |
, m_label(label) |
, m_language(language) |
, m_id(id) |
+ , m_mediaElement(nullptr) |
{ |
} |
TrackBase::~TrackBase() |
{ |
+#if !ENABLE(OILPAN) |
+ ASSERT(!m_mediaElement); |
+#endif |
+} |
+ |
+ |
+Node* TrackBase::owner() const |
+{ |
+ return m_mediaElement; |
+} |
+ |
+void TrackBase::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_mediaElement); |
} |
void TrackBase::setKind(const AtomicString& kind) |
@@ -54,4 +78,3 @@ void TrackBase::setKind(const AtomicString& kind) |
} |
} // namespace WebCore |
- |