OSDN Git Service

Only honor the scrollbar mode at the minimum zoom
authorGrace Kloba <klobag@google.com>
Fri, 23 Apr 2010 22:21:24 +0000 (15:21 -0700)
committerGrace Kloba <klobag@google.com>
Fri, 23 Apr 2010 22:21:24 +0000 (15:21 -0700)
level. This reduced the impact of https://android-git.corp.google.com/g/#change,48683.
In GB, we need to revisit this issue.

Wit this CL, http://b/issue?id=2512549 is still fine.

Fix http://b/issue?id=2619398
It should fix http://b/issue?id=2619415 when it is not in zoom out case.
It doesn't fix http://b/issue?id=2620979 as the site
is a mobile site. We have conflict with the requirement
from http://b/issue?id=2512549

core/java/android/webkit/WebView.java

index 66dad0b..6f4c6ff 100644 (file)
@@ -2286,7 +2286,9 @@ public class WebView extends AbsoluteLayout
     protected int computeHorizontalScrollRange() {
         if (mDrawHistory) {
             return mHistoryWidth;
-        } else if (mHorizontalScrollBarMode == SCROLLBAR_ALWAYSOFF) {
+        } else if (mHorizontalScrollBarMode == SCROLLBAR_ALWAYSOFF
+                && (mActualScale - mMinZoomScale <= MINIMUM_SCALE_INCREMENT)) {
+            // only honor the scrollbar mode when it is at minimum zoom level
             return computeHorizontalScrollExtent();
         } else {
             // to avoid rounding error caused unnecessary scrollbar, use floor
@@ -2298,7 +2300,9 @@ public class WebView extends AbsoluteLayout
     protected int computeVerticalScrollRange() {
         if (mDrawHistory) {
             return mHistoryHeight;
-        } else if (mVerticalScrollBarMode == SCROLLBAR_ALWAYSOFF) {
+        } else if (mVerticalScrollBarMode == SCROLLBAR_ALWAYSOFF
+                && (mActualScale - mMinZoomScale <= MINIMUM_SCALE_INCREMENT)) {
+            // only honor the scrollbar mode when it is at minimum zoom level
             return computeVerticalScrollExtent();
         } else {
             // to avoid rounding error caused unnecessary scrollbar, use floor