Index: Source/core/paint/SVGRootPainter.cpp |
diff --git a/Source/core/paint/SVGRootPainter.cpp b/Source/core/paint/SVGRootPainter.cpp |
index 1ff87c2de3ba803f6ebd5e309caca99830d038c1..98a9ae7132a21e38ce61f6297f4e8ae0cc175ed9 100644 |
--- a/Source/core/paint/SVGRootPainter.cpp |
+++ b/Source/core/paint/SVGRootPainter.cpp |
@@ -52,6 +52,9 @@ void SVGRootPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& paintO |
IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset); |
childPaintInfo.applyTransform(AffineTransform::translation(adjustedPaintOffset.x(), adjustedPaintOffset.y()) * m_renderSVGRoot.localToBorderBoxTransform()); |
+ // SVG doesn't use paintOffset internally but we need to bake it into the paint rect. |
+ childPaintInfo.rect.move(-adjustedPaintOffset.x(), -adjustedPaintOffset.y()); |
+ |
SVGRenderingContext renderingContext; |
if (childPaintInfo.phase == PaintPhaseForeground) { |
renderingContext.prepareToRenderSVGContent(&m_renderSVGRoot, childPaintInfo); |