diff options
author | Shimeng (Simon) Wang <swang@google.com> | 2011-07-25 14:45:08 -0700 |
---|---|---|
committer | Shimeng (Simon) Wang <swang@google.com> | 2011-07-25 14:45:08 -0700 |
commit | 7a6539d65a03ff89c193791e9fe0994f580a72a7 (patch) | |
tree | 05262c78e1b40220d2a3dab547a0560ca6964a5c /Source/WebCore/rendering | |
parent | 47bd03b6265feaa5a369f177e630c6dd16539abc (diff) | |
download | external_webkit-7a6539d65a03ff89c193791e9fe0994f580a72a7.zip external_webkit-7a6539d65a03ff89c193791e9fe0994f580a72a7.tar.gz external_webkit-7a6539d65a03ff89c193791e9fe0994f580a72a7.tar.bz2 |
Disable customized overflow scroll for positioned renderblock.
This fixes maps.google.com dropdown list scrolling issue.
Tested on developer.android.com, slate.com, lemonde.fr; the existing
overflow scrolling are working as before this change.
issue: 4203823
Change-Id: I11cebbfd8bb3dd060bbee1b29ec96627fcbf1a72
Diffstat (limited to 'Source/WebCore/rendering')
-rw-r--r-- | Source/WebCore/rendering/RenderLayer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp index 6aff65c..0eae838 100644 --- a/Source/WebCore/rendering/RenderLayer.cpp +++ b/Source/WebCore/rendering/RenderLayer.cpp @@ -2274,10 +2274,13 @@ void RenderLayer::updateScrollInfoAfterLayout() updateOverflowStatus(horizontalOverflow, verticalOverflow); #if ENABLE(ANDROID_OVERFLOW_SCROLL) - bool hasOverflowScroll = ((horizontalOverflow && m_hBar) || (verticalOverflow && m_vBar)) - // Disable UI side scrolling for textareas, unless they are readonly. - && (!renderer()->isTextArea() || (renderer()->node() - && static_cast<HTMLTextAreaElement*>(renderer()->node())->readOnly())); + bool hasOverflowScroll = ((horizontalOverflow && m_hBar) || (verticalOverflow && m_vBar)) && + ((!renderer()->isTextArea() && !renderer()->isRenderBlock()) || + // Disable customized overflow scroll for positioned RenderBlock. + (renderer()->isRenderBlock() && !renderer()->isPositioned()) || + // Disable UI side scrolling for textareas, unless they are readonly. + (renderer()->isTextArea() && renderer()->node() && + static_cast<HTMLTextAreaElement*>(renderer()->node())->readOnly())); if (hasOverflowScroll != m_hasOverflowScroll) { m_hasOverflowScroll = hasOverflowScroll; dirtyZOrderLists(); |