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()); |
pdr.
2015/09/03 06:16:59
Should we return false from isSelfPaintingLayer wh
trchen
2015/09/04 06:10:14
Nope it affects painting order. Most of the time i
|
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()); |