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 3d30b85fd62502e88d3945bb4ada075ecc7bd6cf..400f09f3c49110c85f63406e2a4d2c7bc9dd9dea 100644 |
--- a/third_party/WebKit/Source/web/FullscreenController.cpp |
+++ b/third_party/WebKit/Source/web/FullscreenController.cpp |
@@ -31,6 +31,7 @@ |
#include "web/FullscreenController.h" |
#include "core/dom/Document.h" |
+#include "core/dom/ElementTraversal.h" |
#include "core/dom/Fullscreen.h" |
#include "core/frame/FrameView.h" |
#include "core/frame/LocalFrame.h" |
@@ -89,6 +90,11 @@ void FullscreenController::didEnterFullscreen() |
HTMLVideoElement* videoElement = toHTMLVideoElement(element); |
if (videoElement->usesOverlayFullscreenVideo() && m_webViewImpl->layerTreeView()) |
m_webViewImpl->layerTreeView()->setHasTransparentBackground(true); |
+ } else { |
+ for (HTMLVideoElement& videoElement : Traversal<HTMLVideoElement>::descendantsOf(*element)) { |
+ if (videoElement.webMediaPlayer()) |
+ videoElement.webMediaPlayer()->ancestorEnteredFullscreen(); |
+ } |
} |
} |
@@ -121,6 +127,12 @@ void FullscreenController::didExitFullscreen() |
m_needsScrollAndScaleRestore = true; |
fullscreen->didExitFullscreen(); |
+ if (!isHTMLVideoElement(element)) { |
+ for (HTMLVideoElement& videoElement : Traversal<HTMLVideoElement>::descendantsOf(*element)) { |
+ if (videoElement.webMediaPlayer()) |
+ videoElement.webMediaPlayer()->ancestorExitedFullscreen(); |
+ } |
+ } |
} |
} |
} |