| 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)
|
|
|