Index: third_party/WebKit/Source/web/FullscreenController.cpp |
diff --git a/third_party/WebKit/Source/web/FullscreenController.cpp b/third_party/WebKit/Source/web/FullscreenController.cpp |
index 1d0f0fcc1cfe818faf7921877ab15ccf4eba3ca6..b0ae9ac1248e731b2ec5f48f444a1fb87795be4f 100644 |
--- a/third_party/WebKit/Source/web/FullscreenController.cpp |
+++ b/third_party/WebKit/Source/web/FullscreenController.cpp |
@@ -40,6 +40,7 @@ |
#include "platform/RuntimeEnabledFeatures.h" |
#include "public/platform/WebLayerTreeView.h" |
#include "public/web/WebFrameClient.h" |
+#include "third_party/WebKit/Source/core/dom/TagCollection.h" |
#include "web/WebLocalFrameImpl.h" |
#include "web/WebSettingsImpl.h" |
#include "web/WebViewImpl.h" |
@@ -88,6 +89,10 @@ void FullscreenController::didEnterFullscreen() |
HTMLVideoElement* videoElement = toHTMLVideoElement(element); |
if (videoElement->usesOverlayFullscreenVideo() && m_webViewImpl->layerTreeView()) |
m_webViewImpl->layerTreeView()->setHasTransparentBackground(true); |
+ } else { |
+ // Notify all the video descendants that it enters full screen. |
+ for (HTMLVideoElement& videoElement : Traversal<HTMLVideoElement>::descendantsOf(*element)) |
+ videoElement.parentEnteredFullscreen(); |
} |
} |
@@ -120,6 +125,11 @@ void FullscreenController::didExitFullscreen() |
m_needsScrollAndScaleRestore = true; |
fullscreen->didExitFullscreen(); |
+ if (!isHTMLVideoElement(element)) { |
+ // Notify all the video descendants that it exits full screen. |
+ for (HTMLVideoElement& videoElement : Traversal<HTMLVideoElement>::descendantsOf(*element)) |
+ videoElement.parentExitedFullscreen(); |
+ } |
} |
} |
} |