diff options
author | Chris Craik <ccraik@google.com> | 2011-12-02 13:42:02 -0800 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2011-12-02 13:56:44 -0800 |
commit | 7962416088590b8449c81a02f0a882ad29840cbe (patch) | |
tree | 9c081486acd394ad72b6aa8313b0b9388220ef3e /Source/WebCore | |
parent | 243f1a9f7a19e951afa11a656b273cd4da03ef38 (diff) | |
download | external_webkit-7962416088590b8449c81a02f0a882ad29840cbe.zip external_webkit-7962416088590b8449c81a02f0a882ad29840cbe.tar.gz external_webkit-7962416088590b8449c81a02f0a882ad29840cbe.tar.bz2 |
Maintain UI-side start times for animations in SW rendering mode
bug:5704428
Change-Id: I1d1d1f214642b6ff868e8425778565686bfe8b69
Diffstat (limited to 'Source/WebCore')
-rw-r--r-- | Source/WebCore/platform/graphics/android/LayerAndroid.cpp | 14 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/android/LayerAndroid.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/LayerAndroid.cpp b/Source/WebCore/platform/graphics/android/LayerAndroid.cpp index 1cd2b1a..0557847 100644 --- a/Source/WebCore/platform/graphics/android/LayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/LayerAndroid.cpp @@ -902,6 +902,20 @@ void LayerAndroid::setIsPainting(Layer* drawingTree) obtainTextureForPainting(drawingLayer); } +void LayerAndroid::copyAnimationStartTimesRecursive(LayerAndroid* oldTree) +{ + // used for copying UI-side animation start times in software rendering mode + if (!oldTree) + return; + + for (int i = 0; i < countChildren(); i++) + this->getChild(i)->copyAnimationStartTimesRecursive(oldTree); + + LayerAndroid* layer = oldTree->findById(uniqueId()); + if (layer) + copyAnimationStartTimes(layer); +} + void LayerAndroid::copyAnimationStartTimes(LayerAndroid* oldLayer) { if (!oldLayer) diff --git a/Source/WebCore/platform/graphics/android/LayerAndroid.h b/Source/WebCore/platform/graphics/android/LayerAndroid.h index cc96fae..5c13899 100644 --- a/Source/WebCore/platform/graphics/android/LayerAndroid.h +++ b/Source/WebCore/platform/graphics/android/LayerAndroid.h @@ -303,6 +303,8 @@ public: bool hasText() { return m_hasText; } void checkTextPresence(); + void copyAnimationStartTimesRecursive(LayerAndroid* oldTree); + // rendering asset management void swapTiles(); void setIsDrawing(bool isDrawing); |