Chromium Code Reviews| Index: Source/core/html/track/TextTrack.h |
| diff --git a/Source/core/html/track/TextTrack.h b/Source/core/html/track/TextTrack.h |
| index 6e9d743ae247109dbaee87b7c724cb05e8f0b83a..817915955e2d5dd3346ecb935c008a7988d657fe 100644 |
| --- a/Source/core/html/track/TextTrack.h |
| +++ b/Source/core/html/track/TextTrack.h |
| @@ -30,6 +30,7 @@ |
| #include "bindings/v8/ScriptWrappable.h" |
| #include "core/events/EventTarget.h" |
| #include "core/html/track/TrackBase.h" |
| +#include "platform/heap/Handle.h" |
| #include "wtf/text/WTFString.h" |
| namespace WebCore { |
| @@ -45,11 +46,11 @@ class VTTRegion; |
| class VTTRegionList; |
| class TextTrack : public TrackBase, public ScriptWrappable, public EventTargetWithInlineData { |
| - REFCOUNTED_EVENT_TARGET(TrackBase); |
| + DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<TrackBase>); |
| public: |
| - static PassRefPtr<TextTrack> create(Document& document, const AtomicString& kind, const AtomicString& label, const AtomicString& language) |
| + static PassRefPtrWillBeRawPtr<TextTrack> create(Document& document, const AtomicString& kind, const AtomicString& label, const AtomicString& language) |
| { |
| - return adoptRef(new TextTrack(document, kind, label, language, emptyAtom, AddTrack)); |
| + return adoptRefWillBeRefCountedGarbageCollected(new TextTrack(document, kind, label, language, emptyAtom, AddTrack)); |
| } |
| virtual ~TextTrack(); |
| @@ -81,11 +82,11 @@ public: |
| HTMLMediaElement* mediaElement(); |
| - void addCue(PassRefPtr<TextTrackCue>); |
| + void addCue(PassRefPtrWillBeRawPtr<TextTrackCue>); |
| void removeCue(TextTrackCue*, ExceptionState&); |
| VTTRegionList* regions(); |
| - void addRegion(PassRefPtr<VTTRegion>); |
| + void addRegion(PassRefPtrWillBeRawPtr<VTTRegion>); |
| void removeRegion(VTTRegion*, ExceptionState&); |
| void cueWillChange(TextTrackCue*); |
| @@ -116,24 +117,26 @@ public: |
| virtual const AtomicString& interfaceName() const OVERRIDE; |
| virtual ExecutionContext* executionContext() const OVERRIDE; |
| + virtual void trace(Visitor*) OVERRIDE; |
| + |
| protected: |
| TextTrack(Document&, const AtomicString& kind, const AtomicString& label, const AtomicString& language, const AtomicString& id, TextTrackType); |
| virtual bool isValidKind(const AtomicString& kind) const OVERRIDE { return isValidKindKeyword(kind); } |
| virtual AtomicString defaultKind() const OVERRIDE { return subtitlesKeyword(); } |
| - RefPtr<TextTrackCueList> m_cues; |
| + RefPtrWillBeMember<TextTrackCueList> m_cues; |
| private: |
| VTTRegionList* ensureVTTRegionList(); |
| - RefPtr<VTTRegionList> m_regions; |
| + RefPtrWillBeMember<VTTRegionList> m_regions; |
| TextTrackCueList* ensureTextTrackCueList(); |
| // FIXME: Remove this pointer and get the Document from m_client |
| Document* m_document; |
|
haraken
2014/04/21 01:30:54
This raw pointer looks safe, but if we fix the FIX
sof
2014/04/21 15:23:42
Done, I think.
|
| - TextTrackList* m_trackList; |
| + RawPtrWillBeMember<TextTrackList> m_trackList; |
|
haraken
2014/04/21 01:30:54
Shouldn't this be a WeakMember? This pointer needs
sof
2014/04/21 15:23:42
I don't think it needs to be a weak reference. Lif
|
| AtomicString m_mode; |
| TextTrackType m_trackType; |
| ReadinessState m_readinessState; |