Index: Source/core/layout/Layer.cpp |
diff --git a/Source/core/layout/Layer.cpp b/Source/core/layout/Layer.cpp |
index 9cc742b9c67879ea25f09b6ae2821e83c6918222..29ca4543d9cdf08860de74ac48f9a5a00abd7187 100644 |
--- a/Source/core/layout/Layer.cpp |
+++ b/Source/core/layout/Layer.cpp |
@@ -1627,6 +1627,11 @@ void Layer::collectFragments(LayerFragments& fragments, const Layer* rootLayer, |
ancestorClipRect.intersect(dirtyRect); |
} |
+ LayoutSize subPixelAccumulationIfNeeded; |
+ if (isAllowedToQueryCompositingState()) |
qiankun
2015/03/10 10:13:16
Check isAllowedToQueryCompositingState() to make s
leviw_travelin_and_unemployed
2015/03/10 17:55:51
This isn't the right fix.
I talked to chrishtr an
|
+ subPixelAccumulationIfNeeded = compositingState() == PaintsIntoOwnBacking ? LayoutSize() : subPixelAccumulation; |
+ else |
+ subPixelAccumulationIfNeeded = LayoutSize(); |
for (size_t i = 0; i < fragments.size(); ++i) { |
LayerFragment& fragment = fragments.at(i); |
@@ -1634,7 +1639,7 @@ void Layer::collectFragments(LayerFragments& fragments, const Layer* rootLayer, |
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. |