| 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;
|
|
|