| Index: Source/core/paint/BoxClipper.cpp
|
| diff --git a/Source/core/paint/BoxClipper.cpp b/Source/core/paint/BoxClipper.cpp
|
| index 488183aa7f4f0d6092beb61505c03257dece97c9..199a79c4c2667e1b43a7562d4820f2a63fdf1f6e 100644
|
| --- a/Source/core/paint/BoxClipper.cpp
|
| +++ b/Source/core/paint/BoxClipper.cpp
|
| @@ -24,7 +24,7 @@ BoxClipper::BoxClipper(const LayoutBox& box, const PaintInfo& paintInfo, const L
|
| return;
|
|
|
| bool isControlClip = m_box.hasControlClip();
|
| - bool isOverflowClip = m_box.hasOverflowClip() && !m_box.layer()->isSelfPaintingLayer();
|
| + bool isOverflowClip = m_box.hasOverflowClip() && (!m_box.layer()->isSelfPaintingLayer() || RuntimeEnabledFeatures::slimmingPaintV2Enabled());
|
|
|
| if (!isControlClip && !isOverflowClip)
|
| return;
|
| @@ -35,7 +35,7 @@ BoxClipper::BoxClipper(const LayoutBox& box, const PaintInfo& paintInfo, const L
|
| if (hasBorderRadius)
|
| clipRoundedRect = m_box.style()->getRoundedInnerBorderFor(LayoutRect(accumulatedOffset, m_box.size()));
|
|
|
| - if (contentsClipBehavior == SkipContentsClipIfPossible) {
|
| + if (contentsClipBehavior == SkipContentsClipIfPossible && !RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
|
| LayoutRect contentsVisualOverflow = m_box.contentsVisualOverflowRect();
|
| if (contentsVisualOverflow.isEmpty())
|
| return;
|
| @@ -74,7 +74,7 @@ BoxClipper::~BoxClipper()
|
| if (m_clipType == DisplayItem::UninitializedType)
|
| return;
|
|
|
| - ASSERT(m_box.hasControlClip() || (m_box.hasOverflowClip() && !m_box.layer()->isSelfPaintingLayer()));
|
| + ASSERT(m_box.hasControlClip() || (m_box.hasOverflowClip() && (!m_box.layer()->isSelfPaintingLayer() || RuntimeEnabledFeatures::slimmingPaintV2Enabled())));
|
|
|
| if (RuntimeEnabledFeatures::slimmingPaintEnabled()) {
|
| ASSERT(m_paintInfo.context->displayItemList());
|
|
|