Index: Source/core/rendering/compositing/CompositedLayerMapping.cpp |
diff --git a/Source/core/rendering/compositing/CompositedLayerMapping.cpp b/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
index 8f2e9dd6ff369c2585001b7e05878d9b85d121a5..d81a0afa9ac3ba1656b6ecabf7928dd5cbf350ac 100644 |
--- a/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
+++ b/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
@@ -556,8 +556,8 @@ void CompositedLayerMapping::updateSquashingLayerGeometry(const LayoutPoint& off |
// The totalSquashBounds is positioned with respect to referenceLayer of this CompositedLayerMapping. |
// But the squashingLayer needs to be positioned with respect to the ancestor CompositedLayerMapping. |
- // The conversion between referenceLayer and the ancestor CLM is already computed in the caller as |
- // offsetFromReferenceLayerToCompositedAncestor. |
+ // The conversion between referenceLayer and the ancestor CLM is already computed as |
+ // offsetFromReferenceLayerToParentGraphicsLayer. |
totalSquashBounds.moveBy(offsetFromReferenceLayerToParentGraphicsLayer); |
IntRect squashLayerBounds = enclosingIntRect(totalSquashBounds); |
IntPoint squashLayerOrigin = squashLayerBounds.location(); |
@@ -581,15 +581,14 @@ void CompositedLayerMapping::updateSquashingLayerGeometry(const LayoutPoint& off |
LayoutSize offsetFromSquashLayerOrigin = (offsetFromTransformedAncestorForSquashedLayer - referenceOffsetFromTransformedAncestor) - squashLayerOriginInOwningLayerSpace; |
// It is ok to repaint here, because all of the geometry needed to correctly repaint is computed by this point. |
- IntSize newOffsetFromRenderer = -flooredIntSize(offsetFromSquashLayerOrigin); |
+ IntSize newOffsetFromRenderer = -IntSize(offsetFromSquashLayerOrigin.width().round(), offsetFromSquashLayerOrigin.height().round()); |
+ LayoutSize subpixelAccumulation = offsetFromSquashLayerOrigin + newOffsetFromRenderer; |
if (layers[i].offsetFromRendererSet && layers[i].offsetFromRenderer != newOffsetFromRenderer) |
layers[i].renderLayer->repainter().repaintIncludingNonCompositingDescendants(); |
layers[i].offsetFromRenderer = newOffsetFromRenderer; |
layers[i].offsetFromRendererSet = true; |
- layers[i].renderLayer->setSubpixelAccumulation(offsetFromSquashLayerOrigin.fraction()); |
- ASSERT(layers[i].renderLayer->subpixelAccumulation() == |
- toLayoutSize(computeOffsetFromCompositedAncestor(layers[i].renderLayer, layers[i].renderLayer->ancestorCompositingLayer())).fraction()); |
leviw_travelin_and_unemployed
2014/06/18 17:33:35
I'm sad to see the assert leave, but I'll just cro
|
+ layers[i].renderLayer->setSubpixelAccumulation(subpixelAccumulation); |
// FIXME: find a better design to avoid this redundant value - most likely it will make |
// sense to move the paint task info into RenderLayer's m_compositingProperties. |