Exemple #1
0
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));
    }
}