diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp index aff2981..98244b9 100644 --- a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp +++ b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp @@ -100,7 +100,11 @@ void ContentLayerChromium::paintContentsIfDirty(const IntRect& targetSurfaceRect IntRect layerRect = visibleLayerRect(targetSurfaceRect); if (layerRect.isEmpty()) return; - m_tiler->invalidateRect(enclosingIntRect(m_dirtyRect)); + + IntRect dirty = enclosingIntRect(m_dirtyRect); + dirty.intersect(layerBounds()); + m_tiler->invalidateRect(dirty); + m_tiler->update(painter, layerRect); m_dirtyRect = FloatRect(); } @@ -182,7 +186,6 @@ void ContentLayerChromium::draw(const IntRect& targetSurfaceRect) IntRect layerRect = visibleLayerRect(targetSurfaceRect); if (!layerRect.isEmpty()) m_tiler->draw(layerRect, transform, ccLayerImpl()->drawOpacity()); - m_tiler->unreserveTextures(); } void ContentLayerChromium::createTilerIfNeeded() @@ -215,11 +218,6 @@ void ContentLayerChromium::bindContentsTexture() texture->bindTexture(); } -void ContentLayerChromium::unreserveContentsTexture() -{ - m_tiler->unreserveTextures(); -} - void ContentLayerChromium::setIsMask(bool isMask) { setTilingOption(isMask ? NeverTile : AutoTile); |