Index: Source/core/rendering/compositing/CompositingLayerAssigner.cpp |
diff --git a/Source/core/rendering/compositing/CompositingLayerAssigner.cpp b/Source/core/rendering/compositing/CompositingLayerAssigner.cpp |
index fc17fafbc047c84ccab494b3e7429e7c64d12646..910b9dfbe838e87805b07051a56e15fa3463d94f 100644 |
--- a/Source/core/rendering/compositing/CompositingLayerAssigner.cpp |
+++ b/Source/core/rendering/compositing/CompositingLayerAssigner.cpp |
@@ -130,8 +130,10 @@ bool CompositingLayerAssigner::canSquashIntoCurrentSquashingOwner(const RenderLa |
ASSERT(squashingState.hasMostRecentMapping); |
const RenderLayer& squashingLayer = squashingState.mostRecentMapping->owningLayer(); |
- if (layer->renderer()->clippingContainer() != squashingLayer.renderer()->clippingContainer()) |
- return false; |
+ if (layer->renderer()->clippingContainer() != squashingLayer.renderer()->clippingContainer()) { |
+ if (!squashingLayer.compositedLayerMapping()->containingSquashedLayer(layer->renderer()->clippingContainer())) |
+ return false; |
+ } |
// Composited descendants need to be clipped by a child contianment graphics layer, which would not be available if the layer is |
if (m_compositor->clipsCompositingDescendants(layer)) |