Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp |
| diff --git a/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp b/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp |
| index 022370bfdd79ba204e54fd57a969e6312dfd4761..19c55590ee818d9064eb5529cd074d1676df96a1 100644 |
| --- a/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp |
| +++ b/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp |
| @@ -471,6 +471,16 @@ void MediaControlTextTrackListElement::defaultEventHandler(Event* event) { |
| } |
| void MediaControlTextTrackListElement::setVisible(bool visible) { |
| + if (mediaElement().textTracks()->length() == 1) { |
| + if (mediaElement().textTracks()->hasShowingTracks()) { |
| + TextTrack* track = mediaElement().textTracks()->anonymousIndexedGetter(0); |
| + track->setMode(TextTrack::hiddenKeyword()); |
| + } else { |
| + showTextTrackAtIndex(0); |
| + } |
| + return; |
| + } |
|
mlamouri (slow - plz ping)
2016/10/28 13:02:37
Maybe this logic could be moved to the ClosedCapti
Finnur
2016/10/28 14:12:22
Yeah, I like that idea. Done.
|
| + |
| if (visible) { |
| setIsWanted(true); |
| refreshTextTrackListMenu(); |
| @@ -499,15 +509,21 @@ void MediaControlTextTrackListElement::disableShowingTextTracks() { |
| } |
| String MediaControlTextTrackListElement::getTextTrackLabel(TextTrack* track) { |
| - if (!track) |
| + if (!track) { |
| return mediaElement().locale().queryString( |
| WebLocalizedString::TextTracksOff); |
| + } |
| String trackLabel = track->label(); |
| if (trackLabel.isEmpty()) |
| + trackLabel = track->language(); |
| + |
| + if (trackLabel.isEmpty()) { |
| trackLabel = String(mediaElement().locale().queryString( |
| - WebLocalizedString::TextTracksNoLabel)); |
| + WebLocalizedString::TextTracksNoLabel, |
| + String::number(track->trackIndex() + 1))); |
| + } |
| return trackLabel; |
| } |