| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index cb8f31309f048e6ccc3c01fc1c60d479d25a7a19..9ad5538a833e9e84263e32c81b11bdf4d8dd01b3 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -141,6 +141,7 @@
|
| #include "core/html/HTMLIFrameElement.h"
|
| #include "core/html/HTMLInputElement.h"
|
| #include "core/html/HTMLLinkElement.h"
|
| +#include "core/html/HTMLMediaElement.h"
|
| #include "core/html/HTMLMetaElement.h"
|
| #include "core/html/HTMLScriptElement.h"
|
| #include "core/html/HTMLStyleElement.h"
|
| @@ -672,6 +673,30 @@ void Document::mediaQueryAffectingValueChanged()
|
| InspectorInstrumentation::mediaQueryResultChanged(this);
|
| }
|
|
|
| +void Document::registerForTextTracksVisibilityChangedCallback(HTMLMediaElement* mediaElement)
|
| +{
|
| + if (!mediaElement)
|
| + return;
|
| + if (m_textTracksVisibilityChangedElements.contains(mediaElement))
|
| + return;
|
| + m_textTracksVisibilityChangedElements.append(mediaElement);
|
| +}
|
| +
|
| +void Document::unregisterFromTextTracksVisibilityChangedCallback(HTMLMediaElement* mediaElement)
|
| +{
|
| + size_t index = m_textTracksVisibilityChangedElements.find(mediaElement);
|
| + if (index != kNotFound)
|
| + m_textTracksVisibilityChangedElements.remove(index);
|
| +}
|
| +
|
| +void Document::textTracksVisibilityChanged(bool visible)
|
| +{
|
| + for (Vector<HTMLMediaElement*>::iterator it = m_textTracksVisibilityChangedElements.begin();
|
| + it != m_textTracksVisibilityChangedElements.end(); ++it) {
|
| + (*it)->setClosedCaptionsVisible(visible);
|
| + }
|
| +}
|
| +
|
| void Document::setCompatibilityMode(CompatibilityMode mode)
|
| {
|
| if (m_compatibilityModeLocked || mode == m_compatibilityMode)
|
|
|