Index: Source/core/paint/DeprecatedPaintLayer.cpp |
diff --git a/Source/core/paint/DeprecatedPaintLayer.cpp b/Source/core/paint/DeprecatedPaintLayer.cpp |
index b8b9445a4982bedc21e676c3f7ff7ac8269f7dea..54746af508cf12ba436cdd23e733e374f6a52fc5 100644 |
--- a/Source/core/paint/DeprecatedPaintLayer.cpp |
+++ b/Source/core/paint/DeprecatedPaintLayer.cpp |
@@ -1637,6 +1637,7 @@ void DeprecatedPaintLayer::collectFragments(DeprecatedPaintLayerFragments& fragm |
ancestorClipRect.intersect(dirtyRect); |
} |
+ const LayoutSize subPixelAccumulationIfNeeded = compositingState() == PaintsIntoOwnBacking ? LayoutSize() : subPixelAccumulation; |
for (size_t i = 0; i < fragments.size(); ++i) { |
DeprecatedPaintLayerFragment& fragment = fragments.at(i); |
@@ -1644,7 +1645,7 @@ void DeprecatedPaintLayer::collectFragments(DeprecatedPaintLayerFragments& fragm |
fragment.setRects(layerBoundsInFlowThread, backgroundRectInFlowThread, foregroundRectInFlowThread, outlineRectInFlowThread); |
// Shift to the root-relative physical position used when painting the flow thread in this fragment. |
- fragment.moveBy(fragment.paginationOffset + offsetOfPaginationLayerFromRoot); |
+ fragment.moveBy(fragment.paginationOffset + offsetOfPaginationLayerFromRoot + subPixelAccumulationIfNeeded); |
// Intersect the fragment with our ancestor's background clip so that e.g., columns in an overflow:hidden block are |
// properly clipped by the overflow. |