Index: third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
index a41e2de4ccff295e86aa1a0ed7ba473e266f4560..041cafced2d95eb15fdf8bb3232ecda68b6a07d1 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
@@ -268,9 +268,12 @@ PaintLayerPainter::PaintResult PaintLayerPainter::paintLayerContents(GraphicsCon |
paintingInfo.ancestorHasClipPathClipping = true; |
LayoutRect referenceBox(m_paintLayer.boxForClipPath()); |
- referenceBox.moveBy(offsetFromRoot); |
+ if (m_paintLayer.enclosingPaginationLayer()) |
+ m_paintLayer.convertFromFlowThreadToVisualBoundingBoxInAncestor(paintingInfo.rootLayer, referenceBox); |
mstensho (USE GERRIT)
2016/09/02 19:06:01
This isn't going to work correctly if the clipping
fs
2016/09/02 19:16:51
Yeah, we have similar issues with inlines spanning
|
+ else |
+ referenceBox.moveBy(offsetFromRoot); |
clipPathClipper.emplace( |
- context, *m_paintLayer.layoutObject(), FloatRect(referenceBox), FloatPoint(offsetFromRoot)); |
+ context, *m_paintLayer.layoutObject(), FloatRect(referenceBox), FloatPoint(referenceBox.location())); |
} |
Optional<CompositingRecorder> compositingRecorder; |