From fe812d40b53dc52d5c929e39b5e293af8b6cb4e4 Mon Sep 17 00:00:00 2001 From: Patrick Scott Date: Thu, 9 Dec 2010 18:12:20 -0500 Subject: Fix hit testing inside layers. * Prevent asking for a sync in GraphicsLayerAndroid if some property has not changed. * Remove scrolling logic from LayerAndroid and create a subclass for scrollable layers. * Report the scrolling limits to the layer in order to scroll iframes (not turned on) and to avoid computing them each time the layer is scrolled. * Change the foreground rect calculations to better match the non-overflow case. * During hit testing, intersect the hitTestClip with the foreground and background to prevent false positives in the layer. * Prepare for iframe scrolling by adding code to trigger compositing for iframes. This currently works great except for navigation so it disabled for now. Bug: 3258631 Change-Id: I0da2d8dbe25376c6aa4f485c9350048c82c6f563 --- WebCore/platform/graphics/android/GraphicsLayerAndroid.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'WebCore/platform/graphics/android/GraphicsLayerAndroid.h') diff --git a/WebCore/platform/graphics/android/GraphicsLayerAndroid.h b/WebCore/platform/graphics/android/GraphicsLayerAndroid.h index 098ad37..ea8c5c9 100644 --- a/WebCore/platform/graphics/android/GraphicsLayerAndroid.h +++ b/WebCore/platform/graphics/android/GraphicsLayerAndroid.h @@ -32,6 +32,8 @@ class Image; namespace WebCore { +class ScrollableLayerAndroid; + class GraphicsLayerAndroid : public GraphicsLayer { public: @@ -149,7 +151,7 @@ private: Vector m_invalidatedRects; LayerAndroid* m_contentLayer; - LayerAndroid* m_foregroundLayer; + ScrollableLayerAndroid* m_foregroundLayer; LayerAndroid* m_foregroundClipLayer; }; -- cgit v1.1