diff options
| -rw-r--r-- | Source/WebCore/rendering/RenderLayerBacking.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp index 143c7d32c..acfc67776 100644 --- a/Source/WebCore/rendering/RenderLayerBacking.cpp +++ b/Source/WebCore/rendering/RenderLayerBacking.cpp @@ -1925,35 +1925,32 @@ void RenderLayerBacking::setContentsNeedDisplayInRect(const IntRect& r) { ASSERT(!paintsIntoCompositedAncestor()); + LayoutRect layerDirtyRect(r); + layerDirtyRect.move(m_subpixelAccumulation); if (m_graphicsLayer && m_graphicsLayer->drawsContent()) { - IntRect layerDirtyRect = r; layerDirtyRect.move(-m_graphicsLayer->offsetFromRenderer()); - m_graphicsLayer->setNeedsDisplayInRect(layerDirtyRect); + m_graphicsLayer->setNeedsDisplayInRect(enclosingIntRect(layerDirtyRect)); } if (m_foregroundLayer && m_foregroundLayer->drawsContent()) { - IntRect layerDirtyRect = r; layerDirtyRect.move(-m_foregroundLayer->offsetFromRenderer()); - m_foregroundLayer->setNeedsDisplayInRect(layerDirtyRect); + m_foregroundLayer->setNeedsDisplayInRect(enclosingIntRect(layerDirtyRect)); } // FIXME: need to split out repaints for the background. if (m_backgroundLayer && m_backgroundLayer->drawsContent()) { - IntRect layerDirtyRect = r; layerDirtyRect.move(-m_backgroundLayer->offsetFromRenderer()); - m_backgroundLayer->setNeedsDisplayInRect(layerDirtyRect); + m_backgroundLayer->setNeedsDisplayInRect(enclosingIntRect(layerDirtyRect)); } if (m_maskLayer && m_maskLayer->drawsContent()) { - IntRect layerDirtyRect = r; layerDirtyRect.move(-m_maskLayer->offsetFromRenderer()); - m_maskLayer->setNeedsDisplayInRect(layerDirtyRect); + m_maskLayer->setNeedsDisplayInRect(enclosingIntRect(layerDirtyRect)); } if (m_scrollingContentsLayer && m_scrollingContentsLayer->drawsContent()) { - IntRect layerDirtyRect = r; layerDirtyRect.move(-m_scrollingContentsLayer->offsetFromRenderer()); - m_scrollingContentsLayer->setNeedsDisplayInRect(layerDirtyRect); + m_scrollingContentsLayer->setNeedsDisplayInRect(enclosingIntRect(layerDirtyRect)); } } |
