diff options
| author | Grace Kloba <klobag@google.com> | 2010-03-12 09:38:49 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-03-12 09:38:49 -0800 |
| commit | 45be271b5f3413c6815e18331d2ffa07d88fd3f6 (patch) | |
| tree | 7790c85c6748bca35e0f967f9c413c47b285858b /core/java/android/webkit/WebView.java | |
| parent | bac40307ba5feff3a3e9c21ca897f58e5c8c7735 (diff) | |
| parent | 2563ffb84fc1ef569c06a35aab413258deab6bfe (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.java | 15 |
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; |
