| Index: Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| diff --git a/Source/core/rendering/compositing/CompositedLayerMapping.cpp b/Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| index f6ba049ee4a1143b21c4c95e2ed1398f67ef2281..fa67c9f8a3e9f3a572993175a72cc37fc4a0f527 100644
|
| --- a/Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| +++ b/Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| @@ -356,13 +356,11 @@ bool CompositedLayerMapping::shouldClipCompositedBounds() const
|
|
|
| // Scrolled composited layers are clipped by their ancestor clipping layer,
|
| // so don't clip these, either.
|
| - if (!compositor()->clippedByAncestor(&m_owningLayer))
|
| - return true;
|
| -
|
| - if (m_owningLayer.renderer()->containingBlock()->enclosingLayer() != m_owningLayer.ancestorScrollingLayer())
|
| - return true;
|
| + if (compositor()->clippedByNonAncestorInStackingTree(&m_owningLayer)
|
| + && m_owningLayer.renderer()->containingBlock()->enclosingLayer() == m_owningLayer.ancestorScrollingLayer())
|
| + return false;
|
|
|
| - return false;
|
| + return true;
|
| }
|
|
|
| void CompositedLayerMapping::updateCompositedBounds(GraphicsLayerUpdater::UpdateType updateType)
|
| @@ -460,7 +458,7 @@ bool CompositedLayerMapping::updateGraphicsLayerConfiguration(GraphicsLayerUpdat
|
| needsDescendantsClippingLayer = false;
|
|
|
| RenderLayer* scrollParent = compositor->acceleratedCompositingForOverflowScrollEnabled() ? m_owningLayer.scrollParent() : 0;
|
| - bool needsAncestorClip = compositor->clippedByAncestor(&m_owningLayer);
|
| + bool needsAncestorClip = compositor->clippedByNonAncestorInStackingTree(&m_owningLayer);
|
| if (scrollParent) {
|
| // If our containing block is our ancestor scrolling layer, then we'll already be clipped
|
| // to it via our scroll parent and we don't need an ancestor clipping layer.
|
|
|