| Index: Source/core/rendering/RenderLayerRepainter.cpp
|
| diff --git a/Source/core/rendering/RenderLayerRepainter.cpp b/Source/core/rendering/RenderLayerRepainter.cpp
|
| index a1fa5652aec8f32003aa5485bb3c24d1541fc0b5..af45a20c80f95be4ee326c97ea460fc0639278c4 100644
|
| --- a/Source/core/rendering/RenderLayerRepainter.cpp
|
| +++ b/Source/core/rendering/RenderLayerRepainter.cpp
|
| @@ -77,7 +77,7 @@ void RenderLayerRepainter::repaintIncludingNonCompositingDescendants()
|
|
|
| void RenderLayerRepainter::repaintIncludingNonCompositingDescendantsInternal(const RenderLayerModelObject* repaintContainer)
|
| {
|
| - m_renderer.invalidatePaintUsingContainer(repaintContainer, pixelSnappedIntRect(m_renderer.boundsRectForPaintInvalidation(repaintContainer)), InvalidationLayer);
|
| + m_renderer.invalidatePaintUsingContainer(repaintContainer, m_renderer.boundsRectForPaintInvalidation(repaintContainer), InvalidationLayer);
|
|
|
| // FIXME: Repaints can be issued during style recalc at present, via RenderLayerModelObject::styleWillChange. This happens in scenarios when
|
| // repaint is needed but not layout.
|
| @@ -124,13 +124,14 @@ void RenderLayerRepainter::setBackingNeedsRepaintInRect(const LayoutRect& r)
|
| view->repaintViewRectangle(absRect);
|
| return;
|
| }
|
| - IntRect repaintRect = pixelSnappedIntRect(r);
|
| // FIXME: generalize accessors to backing GraphicsLayers so that this code is squasphing-agnostic.
|
| if (m_renderer.layer()->groupedMapping()) {
|
| + LayoutRect repaintRect = r;
|
| + repaintRect.move(m_renderer.layer()->subpixelAccumulation());
|
| if (GraphicsLayer* squashingLayer = m_renderer.layer()->groupedMapping()->squashingLayer())
|
| - squashingLayer->setNeedsDisplayInRect(repaintRect);
|
| + squashingLayer->setNeedsDisplayInRect(pixelSnappedIntRect(repaintRect));
|
| } else {
|
| - m_renderer.layer()->compositedLayerMapping()->setContentsNeedDisplayInRect(repaintRect);
|
| + m_renderer.layer()->compositedLayerMapping()->setContentsNeedDisplayInRect(r);
|
| }
|
| }
|
|
|
|
|