diff options
author | George Mount <mount@google.com> | 2012-05-04 13:50:04 -0700 |
---|---|---|
committer | George Mount <mount@google.com> | 2012-05-04 15:17:50 -0700 |
commit | 0e43fd01178d539d44a5dfade3bf15aa6efbe02a (patch) | |
tree | ca56c050f55c0e20714c81508b0e7819c1700fa4 /Source/WebCore/platform/graphics/android/layers | |
parent | 38c837307303e521ec0d1c9f7c0df7bd78dd53a5 (diff) | |
download | external_webkit-0e43fd01178d539d44a5dfade3bf15aa6efbe02a.zip external_webkit-0e43fd01178d539d44a5dfade3bf15aa6efbe02a.tar.gz external_webkit-0e43fd01178d539d44a5dfade3bf15aa6efbe02a.tar.bz2 |
Ensure updateGLPositionsAndScale is called from updateLayerPosition.
Bug 6436989
The layer transform was not being updated quickly enough after
a draw, causing the thumb selection handle to become misplaced.
Change-Id: I6cd33baaaba258c9d0977f06e7793ade2816b95d
Diffstat (limited to 'Source/WebCore/platform/graphics/android/layers')
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp | 8 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp index bc3b04b..4f89dc9 100644 --- a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp @@ -69,6 +69,14 @@ IFrameLayerAndroid* BaseLayerAndroid::updatePosition(SkRect viewport, return LayerAndroid::updatePosition(viewport, parentIframeLayer); } +void BaseLayerAndroid::updatePositionsRecursive(const SkRect& visibleContentRect) +{ + updateLayerPositions(visibleContentRect); + TransformationMatrix ident; + FloatRect clip(0, 0, 1e10, 1e10); + updateGLPositionsAndScale(ident, clip, 1, state()->scale()); +} + ForegroundBaseLayerAndroid::ForegroundBaseLayerAndroid(LayerContent* content) : LayerAndroid((RenderLayer*)0) { diff --git a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h index dc4c25f..6275dfd 100644 --- a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h +++ b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h @@ -42,6 +42,7 @@ public: virtual bool needsTexture() { return content(); } virtual IFrameLayerAndroid* updatePosition(SkRect viewport, IFrameLayerAndroid* parentIframeLayer); + void updatePositionsRecursive(const SkRect& visibleContentRect); void setBackgroundColor(Color& color) { m_color = color; } Color getBackgroundColor() { return m_color; } |