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..15dc1a365d86916e806e92b3bf52f2f7a46b4f43 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" |
@@ -37,6 +38,16 @@ |
namespace WebCore { |
+bool shouldAppendLayer(const RenderLayer& layer) |
+{ |
+ if (!RuntimeEnabledFeatures::overlayFullscreenVideoEnabled()) |
+ return true; |
+ Node* node = layer.renderer()->node(); |
+ if (isHTMLMediaElement(*node) && toHTMLMediaElement(node)->isFullscreen()) |
+ return false; |
+ return true; |
+} |
+ |
GraphicsLayerUpdater::GraphicsLayerUpdater(RenderView& renderView) |
: m_renderView(renderView) |
, m_pixelsWithoutPromotingAllTransitions(0.0) |
@@ -122,7 +133,8 @@ void GraphicsLayerUpdater::rebuildTree(RenderLayer& layer, Vector<GraphicsLayer* |
} |
} |
- childLayersOfEnclosingLayer.append(currentCompositedLayerMapping->childForSuperlayers()); |
+ if (shouldAppendLayer(layer)) |
+ childLayersOfEnclosingLayer.append(currentCompositedLayerMapping->childForSuperlayers()); |
} |
if (!depth) { |