summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/WebView.java
diff options
context:
space:
mode:
authorGrace Kloba <klobag@google.com>2010-03-12 09:38:49 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-03-12 09:38:49 -0800
commit45be271b5f3413c6815e18331d2ffa07d88fd3f6 (patch)
tree7790c85c6748bca35e0f967f9c413c47b285858b /core/java/android/webkit/WebView.java
parentbac40307ba5feff3a3e9c21ca897f58e5c8c7735 (diff)
parent2563ffb84fc1ef569c06a35aab413258deab6bfe (diff)
Merge "If we can't over scroll horizontally, set vx to 0 in doFling. Otherwise if vx is greater than vy, as we pin x later in onOverscrolled(), the fling doesn't work as expected."
Diffstat (limited to 'core/java/android/webkit/WebView.java')
-rw-r--r--core/java/android/webkit/WebView.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index f60840b2673a..390550f857d0 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -2301,15 +2301,18 @@ public class WebView extends AbsoluteLayout
scrollBar.draw(canvas);
}
+ private boolean canOverscrollHorizontally() {
+ return (Math.abs(mMinZoomScale - mMaxZoomScale) >= MINIMUM_SCALE_INCREMENT)
+ && getSettings().supportZoom()
+ && getSettings().getUseWideViewPort();
+ }
+
@Override
protected void onOverscrolled(int scrollX, int scrollY, boolean clampedX,
boolean clampedY) {
mInOverScrollMode = false;
int maxX = computeMaxScrollX();
- if (maxX == 0 && (Math.abs(mMinZoomScale - mMaxZoomScale)
- < MINIMUM_SCALE_INCREMENT)
- || !getSettings().supportZoom()
- || !getSettings().getUseWideViewPort()) {
+ if (maxX == 0 && !canOverscrollHorizontally()) {
// do not over scroll x if the page just fits the screen and it
// can't zoom or the view doesn't use wide viewport
scrollX = pinLocX(scrollX);
@@ -5391,7 +5394,9 @@ public class WebView extends AbsoluteLayout
vx = 0;
}
}
-
+ if (maxX == 0 && !canOverscrollHorizontally()) {
+ vx = 0;
+ }
if (true /* EMG release: make our fling more like Maps' */) {
// maps cuts their velocity in half
vx = vx * 3 / 4;