diff options
author | John Reck <jreck@google.com> | 2012-05-03 19:55:39 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2012-05-04 10:00:45 -0700 |
commit | d30efeae4fa6b64029cfa478fe80981232f502e5 (patch) | |
tree | 911d9a55ebeaf92a667ecc29dae57f4accfd449b /Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp | |
parent | 897f9bc8d6e51ba1d0209f219e4c98c8565927e9 (diff) | |
download | external_webkit-d30efeae4fa6b64029cfa478fe80981232f502e5.zip external_webkit-d30efeae4fa6b64029cfa478fe80981232f502e5.tar.gz external_webkit-d30efeae4fa6b64029cfa478fe80981232f502e5.tar.bz2 |
Broaden fast inval path
Bug: 6445600
Clip fast partial invals to the screen instead of an arbitrary size
limit
Change-Id: Iafcbcb427566db87420b8bfc54eb9148530913ce
Diffstat (limited to 'Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp index 535d211..a0cf61d 100644 --- a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp @@ -529,7 +529,10 @@ bool LayerAndroid::canUpdateWithBlit() { if (!m_content || !m_scale) return false; - PrerenderedInval* prerendered = m_content->prerenderForRect(m_dirtyRegion.getBounds()); + IntRect clip = clippedRect(); + IntRect dirty = m_dirtyRegion.getBounds(); + dirty.intersect(clip); + PrerenderedInval* prerendered = m_content->prerenderForRect(dirty); if (!prerendered) return false; // Check that the scales are "close enough" to produce the same rects |