diff options
author | Chris Craik <ccraik@google.com> | 2012-06-21 14:12:52 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2012-06-21 14:12:52 -0700 |
commit | 5425a4d7bc767c9d66275b496c4846f902399479 (patch) | |
tree | 92145870cf7ad9b9672dcbccb442df9b3dcaf6d7 | |
parent | 4dd92d0aeca7863ebbda83a97c37267c3fa09fb9 (diff) | |
download | external_webkit-5425a4d7bc767c9d66275b496c4846f902399479.zip external_webkit-5425a4d7bc767c9d66275b496c4846f902399479.tar.gz external_webkit-5425a4d7bc767c9d66275b496c4846f902399479.tar.bz2 |
Make viewport dirtyness calculations recursive
If a layer marks the viewport dirty, it should mark all of its children as well,
since they likely have also moved.
bug:6547356
Change-Id: I0db2704f35e7c8a78108d6ed8372201a7f025994
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp index d709a9c..228a30e 100644 --- a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp @@ -289,6 +289,9 @@ void LayerAndroid::addDirtyArea() IntRect dirtyArea(area.x(), area.y(), area.width(), area.height()); state()->addDirtyArea(dirtyArea); + + for (int i = 0; i < countChildren(); i++) + getChild(i)->addDirtyArea(); } void LayerAndroid::addAnimation(PassRefPtr<AndroidAnimation> prpAnim) |