OSDN Git Service

Fix hit testing inside layers.
authorPatrick Scott <phanna@android.com>
Thu, 9 Dec 2010 23:12:20 +0000 (18:12 -0500)
committerPatrick Scott <phanna@android.com>
Mon, 13 Dec 2010 13:23:29 +0000 (08:23 -0500)
commitfe812d40b53dc52d5c929e39b5e293af8b6cb4e4
tree81002048cd73d5fa21b7cac3b047c2f1b1755b64
parent83ddee4501f0c2f48d1073e0185a2fb0a732c929
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/Android.mk
WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp
WebCore/platform/graphics/android/GraphicsLayerAndroid.h
WebCore/platform/graphics/android/LayerAndroid.cpp
WebCore/platform/graphics/android/LayerAndroid.h
WebCore/platform/graphics/android/ScrollableLayerAndroid.cpp [new file with mode: 0644]
WebCore/platform/graphics/android/ScrollableLayerAndroid.h [new file with mode: 0644]
WebCore/rendering/RenderLayer.cpp
WebCore/rendering/RenderLayer.h
WebCore/rendering/RenderLayerCompositor.cpp
WebKit/android/nav/WebView.cpp