Index: Source/core/paint/DeprecatedPaintLayerClipper.cpp |
diff --git a/Source/core/paint/DeprecatedPaintLayerClipper.cpp b/Source/core/paint/DeprecatedPaintLayerClipper.cpp |
index 4545e9497330e06859daee4296b23cb88f085714..aebd5df81860a32cce8a6456dc3795f73cae5c7c 100644 |
--- a/Source/core/paint/DeprecatedPaintLayerClipper.cpp |
+++ b/Source/core/paint/DeprecatedPaintLayerClipper.cpp |
@@ -217,22 +217,23 @@ void DeprecatedPaintLayerClipper::calculateRects(const ClipRectsContext& context |
if (!isClippingRoot && m_layoutObject.layer()->parent()) { |
backgroundRect = backgroundClipRect(context); |
- backgroundRect.move(roundedIntSize(context.subPixelAccumulation)); |
pdr.
2015/08/17 21:17:53
We used roundedIntSize before, but don't now. Was
qiankun
2015/08/19 09:14:19
It's intentional. The layout test which was added
|
backgroundRect.intersect(paintDirtyRect); |
pdr.
2015/08/17 21:17:53
This seems wrong... we're intersecting with the pa
qiankun
2015/08/19 09:14:19
Both backgroundRect and paintDirtyRect should move
pdr.
2015/08/20 05:55:13
I'm just worried about the order these are being d
qiankun
2015/08/20 06:08:43
Current implementation is wrong here. I think we s
|
} else { |
backgroundRect = paintDirtyRect; |
} |
- foregroundRect = backgroundRect; |
- outlineRect = backgroundRect; |
- |
LayoutPoint offset; |
- if (offsetFromRoot) |
+ if (offsetFromRoot) { |
offset = *offsetFromRoot; |
- else |
+ backgroundRect.move(context.subPixelAccumulation); |
+ } else { |
m_layoutObject.layer()->convertToLayerCoords(context.rootLayer, offset); |
+ } |
layerBounds = LayoutRect(offset, LayoutSize(m_layoutObject.layer()->size())); |
+ foregroundRect = backgroundRect; |
+ outlineRect = backgroundRect; |
+ |
// Update the clip rects that will be passed to child layers. |
if (m_layoutObject.hasOverflowClip()) { |
// This layer establishes a clip of some kind. |