Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp |
diff --git a/Source/core/rendering/compositing/RenderLayerCompositor.cpp b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
index 0b4403f6cd5c025d8e163e72e8fc1690f9a2ffcb..039c79280a930ae150941f95b1aa0b28d70c9959 100644 |
--- a/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
+++ b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
@@ -783,7 +783,7 @@ bool RenderLayerCompositor::canSquashIntoCurrentSquashingOwner(const RenderLayer |
RenderLayerCompositor::CompositingStateTransitionType RenderLayerCompositor::computeCompositedLayerUpdate(RenderLayer* layer) |
{ |
CompositingStateTransitionType update = NoCompositingStateChange; |
- if (needsOwnBacking(layer)) { |
+ if (!layer->subtreeIsInvisible() && needsOwnBacking(layer)) { |
if (!layer->hasCompositedLayerMapping()) { |
update = AllocateOwnCompositedLayerMapping; |
} |
@@ -792,7 +792,7 @@ RenderLayerCompositor::CompositingStateTransitionType RenderLayerCompositor::com |
update = RemoveOwnCompositedLayerMapping; |
if (layerSquashingEnabled()) { |
- if (requiresSquashing(layer->compositingReasons())) { |
+ if (!layer->subtreeIsInvisible() && requiresSquashing(layer->compositingReasons())) { |
// We can't compute at this time whether the squashing layer update is a no-op, |
// since that requires walking the render layer tree. |
update = PutInSquashingLayer; |