[BlackBerry] Missing conditions in InRegionScrollerPrivate::canScrollRenderBox
authorzhajiang@rim.com <zhajiang@rim.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Sep 2012 17:03:05 +0000 (17:03 +0000)
committerzhajiang@rim.com <zhajiang@rim.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Sep 2012 17:03:05 +0000 (17:03 +0000)
https://bugs.webkit.org/show_bug.cgi?id=96660

Reviewed by Antonio Gomes.
Patch by Jacky Jiang <zhajiang@rim.com>

PR: 207884
According to RenderBox::canBeScrolledAndHasScrollableArea(), we should
bail out early in InRegionScrollerPrivate::canScrollRenderBox() if the
RenderBox's scroll height equals the client height and the scroll width
equals the client width. Otherwise, we will miss the conditions.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::canScrollRenderBox):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@128477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/blackberry/Api/InRegionScroller.cpp
Source/WebKit/blackberry/ChangeLog

index 1af5433..bed378b 100644 (file)
@@ -375,6 +375,9 @@ bool InRegionScrollerPrivate::canScrollRenderBox(RenderBox* box)
     if (!box->hasOverflowClip())
         return false;
 
+    if (box->scrollHeight() == box->clientHeight() && box->scrollWidth() == box->clientWidth())
+        return false;
+
     if (box->scrollsOverflowX() && (box->scrollWidth() != box->clientWidth())
         || box->scrollsOverflowY() && (box->scrollHeight() != box->clientHeight()))
         return true;
index 0bcb057..372cf1e 100644 (file)
@@ -1,3 +1,19 @@
+2012-09-13  Jacky Jiang  <zhajiang@rim.com>
+
+        [BlackBerry] Missing conditions in InRegionScrollerPrivate::canScrollRenderBox
+        https://bugs.webkit.org/show_bug.cgi?id=96660
+
+        Reviewed by Antonio Gomes.
+
+        PR: 207884
+        According to RenderBox::canBeScrolledAndHasScrollableArea(), we should
+        bail out early in InRegionScrollerPrivate::canScrollRenderBox() if the
+        RenderBox's scroll height equals the client height and the scroll width
+        equals the client width. Otherwise, we will miss the conditions.
+
+        * Api/InRegionScroller.cpp:
+        (BlackBerry::WebKit::InRegionScrollerPrivate::canScrollRenderBox):
+
 2012-09-13  Jessica Cao  <jecao@rim.com>
 
         [BlackBerry] Page Popup for Month is non-functional.