Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / loader / TextTrackLoader.h
index e2fcaed..9ec2ba3 100644 (file)
@@ -30,6 +30,7 @@
 #include "core/fetch/ResourceOwner.h"
 #include "core/html/track/vtt/VTTParser.h"
 #include "platform/Timer.h"
+#include "platform/heap/Handle.h"
 #include "wtf/OwnPtr.h"
 
 namespace WebCore {
@@ -46,13 +47,13 @@ public:
     virtual void newRegionsAvailable(TextTrackLoader*) = 0;
 };
 
-class TextTrackLoader FINAL : public ResourceOwner<RawResource>, private VTTParserClient {
+class TextTrackLoader FINAL : public NoBaseWillBeGarbageCollectedFinalized<TextTrackLoader>, public ResourceOwner<RawResource>, private VTTParserClient {
     WTF_MAKE_NONCOPYABLE(TextTrackLoader);
-    WTF_MAKE_FAST_ALLOCATED;
+    WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
 public:
-    static PassOwnPtr<TextTrackLoader> create(TextTrackLoaderClient& client, Document& document)
+    static PassOwnPtrWillBeRawPtr<TextTrackLoader> create(TextTrackLoaderClient& client, Document& document)
     {
-        return adoptPtr(new TextTrackLoader(client, document));
+        return adoptPtrWillBeNoop(new TextTrackLoader(client, document));
     }
     virtual ~TextTrackLoader();
 
@@ -62,8 +63,11 @@ public:
     enum State { Idle, Loading, Finished, Failed };
     State loadState() { return m_state; }
 
-    void getNewCues(Vector<RefPtr<VTTCue> >& outputCues);
-    void getNewRegions(Vector<RefPtr<VTTRegion> >& outputRegions);
+    void getNewCues(WillBeHeapVector<RefPtrWillBeMember<VTTCue> >& outputCues);
+    void getNewRegions(WillBeHeapVector<RefPtrWillBeMember<VTTRegion> >& outputRegions);
+
+    void trace(Visitor*);
+
 private:
 
     // RawResourceClient
@@ -81,7 +85,7 @@ private:
     void corsPolicyPreventedLoad(SecurityOrigin*, const KURL&);
 
     TextTrackLoaderClient& m_client;
-    OwnPtr<VTTParser> m_cueParser;
+    OwnPtrWillBeMember<VTTParser> m_cueParser;
     // FIXME: Remove this pointer and get the Document from m_client.
     Document& m_document;
     Timer<TextTrackLoader> m_cueLoadTimer;