Chromium Code Reviews| Index: Source/core/html/track/InbandTextTrack.cpp |
| diff --git a/Source/core/html/track/InbandTextTrack.cpp b/Source/core/html/track/InbandTextTrack.cpp |
| index 1d5cbe37213f0f0a9376ec1d22de0e71bab7f858..ce05095498b06d1c88107405229a14f24e5e8af8 100644 |
| --- a/Source/core/html/track/InbandTextTrack.cpp |
| +++ b/Source/core/html/track/InbandTextTrack.cpp |
| @@ -27,6 +27,7 @@ |
| #include "core/html/track/InbandTextTrack.h" |
| #include "bindings/v8/ExceptionStatePlaceholder.h" |
| +#include "core/html/HTMLMediaElement.h" |
| #include "core/html/track/vtt/VTTCue.h" |
| #include "platform/Logging.h" |
| #include "public/platform/WebInbandTextTrack.h" |
| @@ -38,9 +39,9 @@ using blink::WebString; |
| namespace WebCore { |
| -PassRefPtr<InbandTextTrack> InbandTextTrack::create(Document& document, WebInbandTextTrack* webTrack) |
| +PassRefPtrWillBeRawPtr<InbandTextTrack> InbandTextTrack::create(Document& document, WebInbandTextTrack* webTrack) |
| { |
| - return adoptRef(new InbandTextTrack(document, webTrack)); |
| + return adoptRefWillBeRefCountedGarbageCollected(new InbandTextTrack(document, webTrack)); |
| } |
| InbandTextTrack::InbandTextTrack(Document& document, WebInbandTextTrack* webTrack) |
| @@ -74,8 +75,13 @@ InbandTextTrack::InbandTextTrack(Document& document, WebInbandTextTrack* webTrac |
| InbandTextTrack::~InbandTextTrack() |
| { |
| +#if ENABLE(OILPAN) |
| + if (m_webTrack) |
| + m_webTrack->setClient(0); |
|
haraken
2014/04/23 01:51:45
Just to confirm: In the previous code review, you
haraken
2014/04/23 06:21:26
As far as I see the code, it looks OK to defer set
sof
2014/04/23 06:30:01
The media element no longer holding a persistent r
|
| +#else |
| // Make sure m_webTrack was cleared by trackRemoved() before destruction. |
| ASSERT(!m_webTrack); |
| +#endif |
| } |
| size_t InbandTextTrack::inbandTrackIndex() |
| @@ -97,7 +103,9 @@ void InbandTextTrack::setTrackList(TextTrackList* trackList) |
| void InbandTextTrack::addWebVTTCue(double start, double end, const WebString& id, const WebString& content, const WebString& settings) |
| { |
| - RefPtr<VTTCue> cue = VTTCue::create(document(), start, end, content); |
| + HTMLMediaElement* owner = mediaElement(); |
| + ASSERT(owner); |
| + RefPtrWillBeRawPtr<VTTCue> cue = VTTCue::create(owner->document(), start, end, content); |
| cue->setId(id); |
| cue->parseSettings(settings); |
| addCue(cue); |