Index: Source/core/html/HTMLMediaElement.cpp |
diff --git a/Source/core/html/HTMLMediaElement.cpp b/Source/core/html/HTMLMediaElement.cpp |
index d00dfb711b10bf71afeaaed4a37e908c6c72a315..4bad2f2aa037f6b9b176163a8e470f7f41c88649 100644 |
--- a/Source/core/html/HTMLMediaElement.cpp |
+++ b/Source/core/html/HTMLMediaElement.cpp |
@@ -335,12 +335,9 @@ HTMLMediaElement::~HTMLMediaElement() |
m_asyncEventQueue->close(); |
setShouldDelayLoadEvent(false); |
+ |
if (m_textTracks) |
- m_textTracks->clearOwner(); |
- if (m_textTracks) { |
- for (unsigned i = 0; i < m_textTracks->length(); ++i) |
- m_textTracks->item(i)->clearClient(); |
- } |
+ m_textTracks->clearOwnerAndClients(); |
if (m_mediaController) { |
m_mediaController->removeMediaElement(this); |
@@ -2452,7 +2449,7 @@ bool HTMLMediaElement::canPlay() const |
return paused() || ended() || m_readyState < HAVE_METADATA; |
} |
-void HTMLMediaElement::mediaPlayerDidAddTrack(WebInbandTextTrack* webTrack) |
+void HTMLMediaElement::mediaPlayerDidAddTextTrack(WebInbandTextTrack* webTrack) |
{ |
if (!RuntimeEnabledFeatures::videoTrackEnabled()) |
return; |
@@ -2484,10 +2481,10 @@ void HTMLMediaElement::mediaPlayerDidAddTrack(WebInbandTextTrack* webTrack) |
// 9. Fire an event with the name addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent |
// interface, with the track attribute initialized to the text track's TextTrack object, at the media element's |
// textTracks attribute's TextTrackList object. |
- addTrack(textTrack.get()); |
+ addTextTrack(textTrack.get()); |
} |
-void HTMLMediaElement::mediaPlayerDidRemoveTrack(WebInbandTextTrack* webTrack) |
+void HTMLMediaElement::mediaPlayerDidRemoveTextTrack(WebInbandTextTrack* webTrack) |
{ |
if (!RuntimeEnabledFeatures::videoTrackEnabled()) |
return; |
@@ -2496,12 +2493,12 @@ void HTMLMediaElement::mediaPlayerDidRemoveTrack(WebInbandTextTrack* webTrack) |
return; |
// This cast is safe because we created the InbandTextTrack with the WebInbandTextTrack |
- // passed to mediaPlayerDidAddTrack. |
+ // passed to mediaPlayerDidAddTextTrack. |
RefPtr<InbandTextTrack> textTrack = static_cast<InbandTextTrack*>(webTrack->client()); |
if (!textTrack) |
return; |
- removeTrack(textTrack.get()); |
+ removeTextTrack(textTrack.get()); |
} |
void HTMLMediaElement::closeCaptionTracksChanged() |
@@ -2510,14 +2507,14 @@ void HTMLMediaElement::closeCaptionTracksChanged() |
mediaControls()->closedCaptionTracksChanged(); |
} |
-void HTMLMediaElement::addTrack(TextTrack* track) |
+void HTMLMediaElement::addTextTrack(TextTrack* track) |
{ |
textTracks()->append(track); |
closeCaptionTracksChanged(); |
} |
-void HTMLMediaElement::removeTrack(TextTrack* track) |
+void HTMLMediaElement::removeTextTrack(TextTrack* track) |
{ |
TrackDisplayUpdateScope scope(this); |
TextTrackCueList* cues = track->cues(); |
@@ -2538,7 +2535,7 @@ void HTMLMediaElement::removeAllInbandTracks() |
TextTrack* track = m_textTracks->item(i); |
if (track->trackType() == TextTrack::InBand) |
- removeTrack(track); |
+ removeTextTrack(track); |
} |
} |
@@ -2567,7 +2564,7 @@ PassRefPtr<TextTrack> HTMLMediaElement::addTextTrack(const AtomicString& kind, c |
// first append the track to the text track list. |
// 6. Add the new text track to the media element's list of text tracks. |
- addTrack(textTrack.get()); |
+ addTextTrack(textTrack.get()); |
// ... its text track readiness state to the text track loaded state ... |
textTrack->setReadinessState(TextTrack::Loaded); |
@@ -2588,7 +2585,7 @@ TextTrackList* HTMLMediaElement::textTracks() |
return m_textTracks.get(); |
} |
-void HTMLMediaElement::didAddTrack(HTMLTrackElement* trackElement) |
+void HTMLMediaElement::didAddTrackElement(HTMLTrackElement* trackElement) |
{ |
ASSERT(trackElement->hasTagName(trackTag)); |
@@ -2603,7 +2600,7 @@ void HTMLMediaElement::didAddTrack(HTMLTrackElement* trackElement) |
if (!textTrack) |
return; |
- addTrack(textTrack.get()); |
+ addTextTrack(textTrack.get()); |
// Do not schedule the track loading until parsing finishes so we don't start before all tracks |
// in the markup have been added. |
@@ -2614,7 +2611,7 @@ void HTMLMediaElement::didAddTrack(HTMLTrackElement* trackElement) |
mediaControls()->closedCaptionTracksChanged(); |
} |
-void HTMLMediaElement::didRemoveTrack(HTMLTrackElement* trackElement) |
+void HTMLMediaElement::didRemoveTrackElement(HTMLTrackElement* trackElement) |
{ |
ASSERT(trackElement->hasTagName(trackTag)); |
@@ -2624,7 +2621,7 @@ void HTMLMediaElement::didRemoveTrack(HTMLTrackElement* trackElement) |
#if !LOG_DISABLED |
if (trackElement->hasTagName(trackTag)) { |
KURL url = trackElement->getNonEmptyURLAttribute(srcAttr); |
- WTF_LOG(Media, "HTMLMediaElement::didRemoveTrack - 'src' is %s", urlForLoggingMedia(url).utf8().data()); |
+ WTF_LOG(Media, "HTMLMediaElement::didRemoveTrackElement - 'src' is %s", urlForLoggingMedia(url).utf8().data()); |
} |
#endif |
@@ -2641,7 +2638,7 @@ void HTMLMediaElement::didRemoveTrack(HTMLTrackElement* trackElement) |
// When a track element's parent element changes and the old parent was a media element, |
// then the user agent must remove the track element's corresponding text track from the |
// media element's list of text tracks. |
- removeTrack(textTrack.get()); |
+ removeTextTrack(textTrack.get()); |
size_t index = m_textTracksWhenResourceSelectionBegan.find(textTrack.get()); |
if (index != kNotFound) |