void MediaControls::showTextTrackAtIndex(unsigned indexToEnable) { TextTrackList* trackList = mediaElement().textTracks(); if (indexToEnable >= trackList->length()) return; TextTrack* track = trackList->anonymousIndexedGetter(indexToEnable); if (track && track->canBeRendered()) track->setMode(TextTrack::showingKeyword()); }
void MediaControlTextTrackListElement::refreshTextTrackListMenu() { if (!mediaElement().hasClosedCaptions() || !mediaElement().textTracksAreReady()) return; EventDispatchForbiddenScope::AllowUserAgentEvents allowEvents; removeChildren(OmitSubtreeModifiedEvent); // Construct a menu for subtitles and captions // Pass in a nullptr to createTextTrackListItem to create the "Off" track item. appendChild(createTextTrackListItem(nullptr)); TextTrackList* trackList = mediaElement().textTracks(); for (unsigned i = 0; i < trackList->length(); i++) { TextTrack* track = trackList->anonymousIndexedGetter(i); if (!track->canBeRendered()) continue; appendChild(createTextTrackListItem(track)); } }