summaryrefslogtreecommitdiffstats
path: root/Source/WebCore
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2011-12-02 13:42:02 -0800
committerChris Craik <ccraik@google.com>2011-12-02 13:56:44 -0800
commit7962416088590b8449c81a02f0a882ad29840cbe (patch)
tree9c081486acd394ad72b6aa8313b0b9388220ef3e /Source/WebCore
parent243f1a9f7a19e951afa11a656b273cd4da03ef38 (diff)
downloadexternal_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.cpp14
-rw-r--r--Source/WebCore/platform/graphics/android/LayerAndroid.h2
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);