Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / html / track / LoadableTextTrack.cpp
index 66e6b8d..9dce330 100644 (file)
 #include "core/html/track/TextTrackCueList.h"
 #include "core/html/track/vtt/VTTRegionList.h"
 
-namespace WebCore {
+namespace blink {
 
 using namespace HTMLNames;
 
 LoadableTextTrack::LoadableTextTrack(HTMLTrackElement* track)
-    : TextTrack(track->document(), emptyAtom, emptyAtom, emptyAtom, emptyAtom, TrackElement)
+    : TextTrack(emptyAtom, emptyAtom, emptyAtom, emptyAtom, TrackElement)
     , m_trackElement(track)
     , m_loadTimer(this, &LoadableTextTrack::loadTimerFired)
     , m_isDefault(false)
@@ -46,19 +46,25 @@ LoadableTextTrack::LoadableTextTrack(HTMLTrackElement* track)
 
 LoadableTextTrack::~LoadableTextTrack()
 {
+#if !ENABLE(OILPAN)
     ASSERT(!m_trackElement);
+#endif
 }
 
+#if !ENABLE(OILPAN)
 void LoadableTextTrack::clearTrackElement()
 {
-    m_trackElement = 0;
+    m_trackElement = nullptr;
 }
+#endif
 
 void LoadableTextTrack::setMode(const AtomicString& mode)
 {
     TextTrack::setMode(mode);
+#if !ENABLE(OILPAN)
     if (!m_trackElement)
         return;
+#endif
 
     if (m_trackElement->readyState() == HTMLTrackElement::NONE)
         m_trackElement->scheduleLoad();
@@ -94,8 +100,10 @@ void LoadableTextTrack::loadTimerFired(Timer<LoadableTextTrack>*)
     if (m_loader)
         m_loader->cancelLoad();
 
+#if !ENABLE(OILPAN)
     if (!m_trackElement)
         return;
+#endif
 
     // 4.8.10.12.3 Sourcing out-of-band text tracks (continued)
 
@@ -111,7 +119,7 @@ void LoadableTextTrack::newCuesAvailable(TextTrackLoader* loader)
 {
     ASSERT_UNUSED(loader, m_loader == loader);
 
-    Vector<RefPtr<VTTCue> > newCues;
+    WillBeHeapVector<RefPtrWillBeMember<VTTCue> > newCues;
     m_loader->getNewCues(newCues);
 
     if (!m_cues)
@@ -119,7 +127,7 @@ void LoadableTextTrack::newCuesAvailable(TextTrackLoader* loader)
 
     for (size_t i = 0; i < newCues.size(); ++i) {
         newCues[i]->setTrack(this);
-        m_cues->add(newCues[i]);
+        m_cues->add(newCues[i].release());
     }
 
     if (mediaElement())
@@ -130,8 +138,10 @@ void LoadableTextTrack::cueLoadingCompleted(TextTrackLoader* loader, bool loadin
 {
     ASSERT_UNUSED(loader, m_loader == loader);
 
+#if !ENABLE(OILPAN)
     if (!m_trackElement)
         return;
+#endif
 
     m_trackElement->didCompleteLoad(loadingFailed ? HTMLTrackElement::Failure : HTMLTrackElement::Success);
 }
@@ -140,7 +150,7 @@ void LoadableTextTrack::newRegionsAvailable(TextTrackLoader* loader)
 {
     ASSERT_UNUSED(loader, m_loader == loader);
 
-    Vector<RefPtr<VTTRegion> > newRegions;
+    WillBeHeapVector<RefPtrWillBeMember<VTTRegion> > newRegions;
     m_loader->getNewRegions(newRegions);
 
     for (size_t i = 0; i < newRegions.size(); ++i) {
@@ -167,4 +177,11 @@ size_t LoadableTextTrack::trackElementIndex()
     return 0;
 }
 
-} // namespace WebCore
+void LoadableTextTrack::trace(Visitor* visitor)
+{
+    visitor->trace(m_trackElement);
+    visitor->trace(m_loader);
+    TextTrack::trace(visitor);
+}
+
+} // namespace blink