Index: Source/core/html/HTMLMediaElement.cpp |
diff --git a/Source/core/html/HTMLMediaElement.cpp b/Source/core/html/HTMLMediaElement.cpp |
index 5558692f2650d0baa1f5ee8941d302f798161f0d..61bf3b111bd6d4a29ce44ec4131243ce3784476f 100644 |
--- a/Source/core/html/HTMLMediaElement.cpp |
+++ b/Source/core/html/HTMLMediaElement.cpp |
@@ -375,6 +375,13 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document& docum |
setHasCustomStyleCallbacks(); |
addElementToDocumentMap(this, &document); |
+ document.registerForTextTracksVisibilityChangedCallback(this); |
+#if OS(ANDROID) |
tkent
2015/04/29 23:58:44
Can you set the default value of textTracksEnabled
srivats
2015/05/01 23:03:31
Doing that will have closed captions turned on by
|
+ // The OS setting for closed captions state is only available on Android, iOS |
+ // and OSX. Set closed captions visibility based on OS text tracks state only if the platform |
+ // is Android because the setting is currently only plumbed down on Android. |
+ setClosedCaptionsVisible(document.settings()->textTracksEnabled()); |
tkent
2015/04/29 23:58:44
document.settings() can be NULL.
srivats
2015/05/01 23:03:31
Done.
|
+#endif |
} |
HTMLMediaElement::~HTMLMediaElement() |
@@ -413,6 +420,8 @@ HTMLMediaElement::~HTMLMediaElement() |
} |
#endif |
+ document().unregisterFromTextTracksVisibilityChangedCallback(this); |
+ |
#if ENABLE(OILPAN) |
if (m_closeMediaSourceWhenFinalizing) |
closeMediaSource(); |
@@ -3397,7 +3406,13 @@ void HTMLMediaElement::configureTextTrackDisplay(VisibilityChangeAssumption assu |
return; |
} |
m_haveVisibleTextTrack = haveVisibleTextTrack; |
+#if !OS(ANDROID) |
m_closedCaptionsVisible = m_haveVisibleTextTrack; |
+#else |
+ // Set closed captions visible during initial load only if the video has a |
+ // visible text track and when the android platform closed captions are enabled. |
+ m_closedCaptionsVisible = m_haveVisibleTextTrack && document().settings()->textTracksEnabled(); |
+#endif |
if (!m_haveVisibleTextTrack && !mediaControls()) |
return; |