diff options
| author | 2011-02-25 10:37:33 -0800 | |
|---|---|---|
| committer | 2011-02-25 10:37:33 -0800 | |
| commit | 56d9353195e4c767e60ecfab1e118d3cc30f3a91 (patch) | |
| tree | e1353c89cbd13a8a131eb451a7288d9b72b63d7f | |
| parent | 7ad9eb69c45fae0712f767a4b70f670113da92d9 (diff) | |
| parent | 61bb911938d055ece3a95f9ba5aa014175a37fa4 (diff) | |
Merge "Make sure pinch zoom and overview scale are within limits"
| -rw-r--r-- | core/java/android/webkit/ZoomManager.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java index 74e6c40a6617..5e0de27bb173 100644 --- a/core/java/android/webkit/ZoomManager.java +++ b/core/java/android/webkit/ZoomManager.java @@ -629,7 +629,7 @@ class ZoomManager { } /* package */ float getZoomOverviewScale() { - return mWebView.getViewWidth() * mInvZoomOverviewWidth; + return computeScaleWithLimits(mWebView.getViewWidth() * mInvZoomOverviewWidth); } public boolean isInZoomOverview() { @@ -722,7 +722,8 @@ class ZoomManager { public boolean onScale(ScaleGestureDetector detector) { // Prevent scaling beyond overview scale. - float scale = Math.max(detector.getScaleFactor() * mActualScale, + float scale = Math.max( + computeScaleWithLimits(detector.getScaleFactor() * mActualScale), getZoomOverviewScale()); if (mPinchToZoomAnimating || willScaleTriggerZoom(scale)) { mPinchToZoomAnimating = true; @@ -732,6 +733,7 @@ class ZoomManager { } else { scale = Math.max(scale, mActualScale * 0.8f); } + scale = computeScaleWithLimits(scale); // if the scale change is too small, regard it as jitter and skip it. if (Math.abs(scale - mActualScale) < MINIMUM_SCALE_WITHOUT_JITTER) { return false; |