Index: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
index 53895c4fdd16476b71ea505f4b83d705bb64bc50..bf1e1178266799924265eaa5aac043a65f725b51 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
@@ -265,7 +265,7 @@ private: |
void updateInternalHierarchy(); |
void updatePaintingPhases(); |
- bool updateClippingLayers(bool needsAncestorClip, bool needsDescendantClip); |
+ bool updateClippingLayers(bool needsAncestorClip, bool needsAncestorClippingMask, bool needsDescendantClip); |
bool updateChildTransformLayer(bool needsChildTransformLayer); |
bool updateOverflowControlsLayers(bool needsHorizontalScrollbarLayer, bool needsVerticalScrollbarLayer, bool needsScrollCornerLayer, bool needsAncestorClip); |
bool updateForegroundLayer(bool needsForegroundLayer); |
@@ -330,6 +330,10 @@ private: |
// Return true if |m_owningLayer|'s compositing ancestor is not a descendant (inclusive) of the |
// clipping container for |m_owningLayer|. |
bool owningLayerClippedByLayerNotAboveCompositedAncestor(const PaintLayer* scrollParent); |
+ // Return true if |m_owningLayer|'s compositing ancestor is not a descendant (inclusive) of the |
+ // clipping container for |m_owningLayer| and that clipping container has border radius. |
+ bool owningLayerMaskedByLayerNotAboveCompositedAncestor(const PaintLayer* scrollParent); |
+ |
const PaintLayer* scrollParent(); |
@@ -373,6 +377,7 @@ private: |
// So we create an ancestor clipping layer for B, [+], which ensures that B is clipped |
// as if it had been A's descendant. |
std::unique_ptr<GraphicsLayer> m_ancestorClippingLayer; // Only used if we are clipped by an ancestor which is not a stacking context. |
+ std::unique_ptr<GraphicsLayer> m_ancestorClippingMaskLayer; // Only used is there is an m_ancestorClippingLayer that also needs to apply a border radius mask. |
std::unique_ptr<GraphicsLayer> m_graphicsLayer; |
std::unique_ptr<GraphicsLayer> m_childContainmentLayer; // Only used if we have clipping on a stacking context with compositing children. |
std::unique_ptr<GraphicsLayer> m_childTransformLayer; // Only used if we have perspective. |