summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2010-12-16 14:59:13 -0800
committerNicolas Roard <nicolas@android.com>2010-12-16 14:59:13 -0800
commit27f8b0be5e91afbcd668785adb636b43f27cc9f7 (patch)
tree5f89d2611a77eeb43672ea99da413f381db87198
parent8c3b4386c279f644e5e9d2c5769fe5a43c6cd0ca (diff)
downloadexternal_webkit-27f8b0be5e91afbcd668785adb636b43f27cc9f7.zip
external_webkit-27f8b0be5e91afbcd668785adb636b43f27cc9f7.tar.gz
external_webkit-27f8b0be5e91afbcd668785adb636b43f27cc9f7.tar.bz2
Fix for layers repainting
Change-Id: I4072a5d560243d1d0053296b5128a9e411d5750a
-rw-r--r--WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp b/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp
index fa660da..1efbecc 100644
--- a/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp
+++ b/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp
@@ -561,6 +561,14 @@ bool GraphicsLayerAndroid::paintContext(SkPicture* context,
void GraphicsLayerAndroid::setNeedsDisplayInRect(const FloatRect& rect)
{
+ for (unsigned int i = 0; i < m_children.size(); i++) {
+ GraphicsLayer* layer = m_children[i];
+ if (layer) {
+ FloatRect childrenRect = m_transform.mapRect(rect);
+ layer->setNeedsDisplayInRect(childrenRect);
+ }
+ }
+
if (!m_haveImage && !drawsContent()) {
LOG("(%x) setNeedsDisplay(%.2f,%.2f,%.2f,%.2f) doesn't have content, bypass...",
this, rect.x(), rect.y(), rect.width(), rect.height());
@@ -577,8 +585,8 @@ void GraphicsLayerAndroid::setNeedsDisplayInRect(const FloatRect& rect)
}
#ifdef LAYER_DEBUG
- LOG("(%x) setNeedsDisplayInRect(%d) - (%.2f, %.2f, %.2f, %.2f)", this,
- m_needsRepaint, rect.x(), rect.y(), rect.width(), rect.height());
+ LOG("(%x) layer %d setNeedsDisplayInRect(%d) - (%.2f, %.2f, %.2f, %.2f)", this,
+ m_contentLayer->uniqueId(), m_needsRepaint, rect.x(), rect.y(), rect.width(), rect.height());
#endif
if (addInval) {