diff options
author | Patrick Scott <phanna@android.com> | 2010-08-02 08:09:31 -0400 |
---|---|---|
committer | Patrick Scott <phanna@android.com> | 2010-08-02 15:28:47 -0400 |
commit | ef1adcdfc805d4d13103f6f15cc5b4d96828a60f (patch) | |
tree | cf24fb4142aa8bd487b7f751c74aa4225967fa47 /WebCore/rendering/RenderLayerCompositor.cpp | |
parent | 2e79b71868fcdcd0de7c6070e50662d8fa01e4ab (diff) | |
download | external_webkit-ef1adcdfc805d4d13103f6f15cc5b4d96828a60f.zip external_webkit-ef1adcdfc805d4d13103f6f15cc5b4d96828a60f.tar.gz external_webkit-ef1adcdfc805d4d13103f6f15cc5b4d96828a60f.tar.bz2 |
Enable navigation in scrollable layers.
EventHandler:
* Added IgnoreClipping in order to touch nodes that are clipped
out.
android_graphics:
* Remember the absolute bounds of the node for invals.
RenderBox:
* Fix a compiler warning.
RenderLayer:
* Do not record the entire layer contents unless the scroll
dimensions are larger than the client dimensions.
* Change isSelfPaintingLayer to check for an overflow clip
instead of the scrollable dimensions since it can be too
early to check at this point.
RenderLayerCompositor:
* Same as RenderLayer for checking the overflow clip.
WebViewCore:
* Scroll the containing layer to the node bounds and offset the
mouse position if scrolled. Once the mouse event is processed,
restore the layer to 0,0.
CacheBuilder:
* The body position is no longer used.
* Do not clip out nodes if the layer is scrollable.
CachedFrame:
* Add unadjustBounds to restore adjusted bounds to their original
position (fixed position elements).
* Call unadjustBounds when a node has been found. This new set of
bounds is passed over to WebViewCore to handle clicks.
* Reject empty node bounds.
CachedLayer:
* Document adjustBounds and add unadjustBounds. Add in the scroll
position to the node bounds.
CachedRoot:
* Unadjust the mouse bounds.
WebView:
* Unadjust the mouse bounds and use the absolute bounds of the ring
during inval.
Bug: 1566791
Change-Id: Ia55f2cbb61869087176d3ff61882e40324614c6a
Diffstat (limited to 'WebCore/rendering/RenderLayerCompositor.cpp')
-rw-r--r-- | WebCore/rendering/RenderLayerCompositor.cpp | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp index 46278a2..f6e1442 100644 --- a/WebCore/rendering/RenderLayerCompositor.cpp +++ b/WebCore/rendering/RenderLayerCompositor.cpp @@ -1155,19 +1155,6 @@ bool RenderLayerCompositor::requiresCompositingForMobileSites(const RenderLayer* } #endif -#if ENABLE(ANDROID_OVERFLOW_SCROLL) -static bool requiresCompositingForOverflowScroll(const RenderLayer* layer) { - RenderBox* box = layer->renderBox(); - if (!box || !box->node()->hasTagName(HTMLNames::divTag)) - return false; - EOverflow x = box->style()->overflowX(); - EOverflow y = box->style()->overflowY(); - return (x == OAUTO || x == OSCROLL || y == OAUTO || y == OSCROLL) && - (box->scrollWidth() > box->clientWidth() || - box->scrollHeight() > box->clientHeight()); -} -#endif - // Note: this specifies whether the RL needs a compositing layer for intrinsic reasons. // Use needsToBeComposited() to determine if a RL actually needs a compositing layer. // static @@ -1183,7 +1170,7 @@ bool RenderLayerCompositor::requiresCompositingLayer(const RenderLayer* layer) c #if PLATFORM(ANDROID) || requiresCompositingForMobileSites(layer) #if ENABLE(ANDROID_OVERFLOW_SCROLL) - || requiresCompositingForOverflowScroll(layer) + || renderer->hasOverflowClip() #endif #endif || requiresCompositingForVideo(renderer) |