Index: Source/core/html/track/LoadableTextTrack.h |
diff --git a/Source/core/html/track/LoadableTextTrack.h b/Source/core/html/track/LoadableTextTrack.h |
index 944722019f6c84bd96971a815127bfbc579fc8b7..c99f4f1b3c65a5295cf70b018ddc69e16a5b2ed7 100644 |
--- a/Source/core/html/track/LoadableTextTrack.h |
+++ b/Source/core/html/track/LoadableTextTrack.h |
@@ -28,6 +28,7 @@ |
#include "core/html/track/TextTrack.h" |
#include "core/loader/TextTrackLoader.h" |
+#include "platform/heap/Handle.h" |
#include "wtf/PassRefPtr.h" |
namespace WebCore { |
@@ -37,9 +38,9 @@ class LoadableTextTrack; |
class LoadableTextTrack FINAL : public TextTrack, private TextTrackLoaderClient { |
public: |
- static PassRefPtr<LoadableTextTrack> create(HTMLTrackElement* track) |
+ static PassRefPtrWillBeRawPtr<LoadableTextTrack> create(HTMLTrackElement* track) |
{ |
- return adoptRef(new LoadableTextTrack(track)); |
+ return adoptRefWillBeRefCountedGarbageCollected(new LoadableTextTrack(track)); |
} |
virtual ~LoadableTextTrack(); |
@@ -50,11 +51,15 @@ public: |
size_t trackElementIndex(); |
HTMLTrackElement* trackElement() { return m_trackElement; } |
+#if !ENABLE(OILPAN) |
void clearTrackElement(); |
+#endif |
virtual bool isDefault() const OVERRIDE { return m_isDefault; } |
virtual void setIsDefault(bool isDefault) OVERRIDE { m_isDefault = isDefault; } |
+ virtual void trace(Visitor*) OVERRIDE; |
+ |
private: |
// TextTrackLoaderClient |
virtual void newCuesAvailable(TextTrackLoader*) OVERRIDE; |
@@ -65,9 +70,11 @@ private: |
void loadTimerFired(Timer<LoadableTextTrack>*); |
- HTMLTrackElement* m_trackElement; |
+ // FIXME: Oilpan: This should be a strong pointer once Member pointers |
+ // into the Node hierarchy can be used. |
+ RawPtrWillBeWeakMember<HTMLTrackElement> m_trackElement; |
Timer<LoadableTextTrack> m_loadTimer; |
- OwnPtr<TextTrackLoader> m_loader; |
+ OwnPtrWillBeMember<TextTrackLoader> m_loader; |
KURL m_url; |
bool m_isDefault; |
}; |