Index: Source/core/html/track/TextTrack.cpp |
diff --git a/Source/core/html/track/TextTrack.cpp b/Source/core/html/track/TextTrack.cpp |
index 54f2cbdec176b2a2c6a4aefe59f6fb5adc5abd34..ddec7b489a9b494589ecab26215055dc187ba1da 100644 |
--- a/Source/core/html/track/TextTrack.cpp |
+++ b/Source/core/html/track/TextTrack.cpp |
@@ -156,8 +156,12 @@ void TextTrack::setKind(const AtomicString& newKind) |
AtomicString oldKind = kind(); |
TrackBase::setKind(newKind); |
- if (mediaElement() && oldKind != kind()) |
- mediaElement()->textTrackKindChanged(this); |
+ // If kind changes from visual to non-visual and mode is 'showing', then force mode to 'hidden'. |
+ // FIXME: This is not per spec. crbug.com/460923 |
+ if (oldKind != kind() && mode() == showingKeyword()) { |
+ if (kind() != captionsKeyword() && kind() != subtitlesKeyword()) |
+ setMode(hiddenKeyword()); |
+ } |
} |
void TextTrack::setMode(const AtomicString& mode) |