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