Index: Source/core/rendering/compositing/GraphicsLayerUpdater.cpp |
diff --git a/Source/core/rendering/compositing/GraphicsLayerUpdater.cpp b/Source/core/rendering/compositing/GraphicsLayerUpdater.cpp |
index 40c419947199076cd33c2a73106ab36d3df34799..6b1ac807988ae89ea25d937996906095f9c07dff 100644 |
--- a/Source/core/rendering/compositing/GraphicsLayerUpdater.cpp |
+++ b/Source/core/rendering/compositing/GraphicsLayerUpdater.cpp |
@@ -27,6 +27,7 @@ |
#include "config.h" |
#include "core/rendering/compositing/GraphicsLayerUpdater.h" |
+#include "core/html/HTMLMediaElement.h" |
#include "core/rendering/RenderLayer.h" |
#include "core/rendering/RenderLayerReflectionInfo.h" |
#include "core/rendering/RenderPart.h" |
@@ -122,7 +123,8 @@ void GraphicsLayerUpdater::rebuildTree(RenderLayer& layer, Vector<GraphicsLayer* |
} |
} |
- childLayersOfEnclosingLayer.append(currentCompositedLayerMapping->childForSuperlayers()); |
+ if (shouldAppendLayer(layer)) |
+ childLayersOfEnclosingLayer.append(currentCompositedLayerMapping->childForSuperlayers()); |
} |
if (!depth) { |
@@ -171,4 +173,14 @@ void GraphicsLayerUpdater::update(RenderLayer& layer) |
layer.scrollableArea()->positionOverflowControls(); |
} |
+bool GraphicsLayerUpdater::shouldAppendLayer(RenderLayer& layer) |
+{ |
+ if (!RuntimeEnabledFeatures::overlayFullscreenVideoEnabled()) |
+ return true; |
+ Node* node = layer.renderer()->node(); |
+ if (isHTMLMediaElement(*node) && toHTMLMediaElement(node)->isFullscreen()) |
+ return false; |
+ return true; |
+} |
+ |
} // namespace WebCore |