Index: trunk/Source/core/html/HTMLMediaElement.cpp |
=================================================================== |
--- trunk/Source/core/html/HTMLMediaElement.cpp (revision 167841) |
+++ trunk/Source/core/html/HTMLMediaElement.cpp (working copy) |
@@ -333,12 +333,9 @@ |
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); |
@@ -2450,7 +2447,7 @@ |
return paused() || ended() || m_readyState < HAVE_METADATA; |
} |
-void HTMLMediaElement::mediaPlayerDidAddTrack(WebInbandTextTrack* webTrack) |
+void HTMLMediaElement::mediaPlayerDidAddTextTrack(WebInbandTextTrack* webTrack) |
{ |
if (!RuntimeEnabledFeatures::videoTrackEnabled()) |
return; |
@@ -2482,10 +2479,10 @@ |
// 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; |
@@ -2494,12 +2491,12 @@ |
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() |
@@ -2508,14 +2505,14 @@ |
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(); |
@@ -2536,7 +2533,7 @@ |
TextTrack* track = m_textTracks->item(i); |
if (track->trackType() == TextTrack::InBand) |
- removeTrack(track); |
+ removeTextTrack(track); |
} |
} |
@@ -2565,7 +2562,7 @@ |
// 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); |
@@ -2586,7 +2583,7 @@ |
return m_textTracks.get(); |
} |
-void HTMLMediaElement::didAddTrack(HTMLTrackElement* trackElement) |
+void HTMLMediaElement::didAddTrackElement(HTMLTrackElement* trackElement) |
{ |
ASSERT(trackElement->hasTagName(trackTag)); |
@@ -2601,7 +2598,7 @@ |
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. |
@@ -2612,7 +2609,7 @@ |
mediaControls()->closedCaptionTracksChanged(); |
} |
-void HTMLMediaElement::didRemoveTrack(HTMLTrackElement* trackElement) |
+void HTMLMediaElement::didRemoveTrackElement(HTMLTrackElement* trackElement) |
{ |
ASSERT(trackElement->hasTagName(trackTag)); |
@@ -2622,7 +2619,7 @@ |
#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 |
@@ -2639,7 +2636,7 @@ |
// 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) |