Index: Source/core/rendering/RenderLayer.cpp |
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
index c8a33cf5ec8bdbf7bb1fa312e22f778ebd1e5cfa..3ed3012dcfc4866d4fb637a06319027fe8aa1f74 100644 |
--- a/Source/core/rendering/RenderLayer.cpp |
+++ b/Source/core/rendering/RenderLayer.cpp |
@@ -3428,7 +3428,12 @@ LayoutRect RenderLayer::boundingBoxForCompositing(const RenderLayer* ancestorLay |
RenderLayerStackingNodeIterator iterator(*m_stackingNode.get(), AllChildren); |
while (RenderLayerStackingNode* node = iterator.next()) { |
- if (node->layer()->hasCompositedLayerMapping() && options != ApplyBoundsChickenEggHacks) |
+ // Here we exclude both directly composted layers and squashing layers |
+ // because those RenderLayers don't paint into the graphics layer |
+ // for this RenderLayer. For example, the bounds of squashed RenderLayers |
+ // will be included in the computation of the appropriate squashing |
+ // GraphicsLayer. |
+ if (options != ApplyBoundsChickenEggHacks && node->layer()->compositingState() != NotComposited) |
continue; |
result.unite(node->layer()->boundingBoxForCompositing(this, options)); |
} |