Index: Source/core/html/track/LoadableTextTrack.cpp |
diff --git a/Source/core/html/track/LoadableTextTrack.cpp b/Source/core/html/track/LoadableTextTrack.cpp |
index 6089405b11b64c1062b53b28449f2a5073e337d7..dd692848f1118ffa4a7164944fd5548c28c2a8a7 100644 |
--- a/Source/core/html/track/LoadableTextTrack.cpp |
+++ b/Source/core/html/track/LoadableTextTrack.cpp |
@@ -27,6 +27,7 @@ |
#include "core/html/track/LoadableTextTrack.h" |
#include "core/dom/ElementTraversal.h" |
+#include "core/html/HTMLMediaElement.h" |
#include "core/html/HTMLTrackElement.h" |
#include "core/html/track/TextTrackCueList.h" |
#include "core/html/track/vtt/VTTRegionList.h" |
@@ -36,7 +37,7 @@ namespace WebCore { |
using namespace HTMLNames; |
LoadableTextTrack::LoadableTextTrack(HTMLTrackElement* track) |
- : TextTrack(track->document(), track, emptyAtom, emptyAtom, emptyAtom, emptyAtom, TrackElement) |
+ : TextTrack(track->document(), emptyAtom, emptyAtom, emptyAtom, emptyAtom, TrackElement) |
, m_trackElement(track) |
, m_loadTimer(this, &LoadableTextTrack::loadTimerFired) |
, m_isDefault(false) |
@@ -45,12 +46,22 @@ LoadableTextTrack::LoadableTextTrack(HTMLTrackElement* track) |
LoadableTextTrack::~LoadableTextTrack() |
{ |
+ ASSERT(!m_trackElement); |
} |
-void LoadableTextTrack::clearClient() |
+void LoadableTextTrack::clearTrackElement() |
{ |
m_trackElement = 0; |
- TextTrack::clearClient(); |
+} |
+ |
+void LoadableTextTrack::setMode(const AtomicString& mode) |
+{ |
+ TextTrack::setMode(mode); |
+ if (!m_trackElement) |
+ return; |
+ |
+ if (m_trackElement->readyState() == HTMLTrackElement::NONE) |
+ m_trackElement->scheduleLoad(); |
} |
void LoadableTextTrack::scheduleLoad(const KURL& url) |
@@ -111,8 +122,8 @@ void LoadableTextTrack::newCuesAvailable(TextTrackLoader* loader) |
m_cues->add(newCues[i]); |
} |
- if (client()) |
- client()->textTrackAddCues(this, m_cues.get()); |
+ if (mediaElement()) |
+ mediaElement()->textTrackAddCues(this, m_cues.get()); |
} |
void LoadableTextTrack::cueLoadingCompleted(TextTrackLoader* loader, bool loadingFailed) |
@@ -157,4 +168,3 @@ size_t LoadableTextTrack::trackElementIndex() |
} |
} // namespace WebCore |
- |