Index: sky/engine/core/rendering/RenderLayerClipper.cpp |
diff --git a/sky/engine/core/rendering/RenderLayerClipper.cpp b/sky/engine/core/rendering/RenderLayerClipper.cpp |
index f3278444fdc95bee6c289383a29f1c11b700d907..e3ec78000689151a7c64834f76574c93b4b14e9c 100644 |
--- a/sky/engine/core/rendering/RenderLayerClipper.cpp |
+++ b/sky/engine/core/rendering/RenderLayerClipper.cpp |
@@ -216,12 +216,9 @@ void RenderLayerClipper::calculateRects(const ClipRectsContext& context, const L |
// Update the clip rects that will be passed to child layers. |
if (m_renderer.hasOverflowClip()) { |
- // This layer establishes a clip of some kind. |
- if (!isClippingRoot || context.respectOverflowClip == RespectOverflowClip) { |
- foregroundRect.intersect(toRenderBox(m_renderer).overflowClipRect(offset)); |
- if (m_renderer.style()->hasBorderRadius()) |
- foregroundRect.setHasRadius(true); |
- } |
+ foregroundRect.intersect(toRenderBox(m_renderer).overflowClipRect(offset)); |
+ if (m_renderer.style()->hasBorderRadius()) |
+ foregroundRect.setHasRadius(true); |
// If we establish an overflow clip at all, then go ahead and make sure our background |
// rect is intersected with our layer's bounds including our visual overflow, |
@@ -233,13 +230,11 @@ void RenderLayerClipper::calculateRects(const ClipRectsContext& context, const L |
// individual region boxes as overflow. |
LayoutRect layerBoundsWithVisualOverflow = toRenderBox(m_renderer).visualOverflowRect(); |
layerBoundsWithVisualOverflow.moveBy(offset); |
- if (!isClippingRoot || context.respectOverflowClip == RespectOverflowClip) |
- backgroundRect.intersect(layerBoundsWithVisualOverflow); |
+ backgroundRect.intersect(layerBoundsWithVisualOverflow); |
} else { |
LayoutRect bounds = toRenderBox(m_renderer).borderBoxRect(); |
bounds.moveBy(offset); |
- if (!isClippingRoot || context.respectOverflowClip == RespectOverflowClip) |
- backgroundRect.intersect(bounds); |
+ backgroundRect.intersect(bounds); |
} |
} |
@@ -281,8 +276,7 @@ void RenderLayerClipper::calculateClipRects(const ClipRectsContext& context, Cli |
adjustClipRectsForChildren(m_renderer, clipRects); |
- // FIXME: This logic looks wrong. We'll apply overflow clip rects even if we were told to IgnoreOverflowClip if m_renderer.hasClip(). |
- if ((m_renderer.hasOverflowClip() && (context.respectOverflowClip == RespectOverflowClip || !isClippingRoot)) || m_renderer.hasClip()) { |
+ if (m_renderer.hasOverflowClip()) { |
// This offset cannot use convertToLayerCoords, because sometimes our rootLayer may be across |
// some transformed layer boundary, for example, in the RenderLayerCompositor overlapMap, where |
// clipRects are needed in view space. |