diff options
| -rw-r--r-- | core/java/android/webkit/ZoomManager.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java index b94dc3ba5b64..230cc51438a8 100644 --- a/core/java/android/webkit/ZoomManager.java +++ b/core/java/android/webkit/ZoomManager.java @@ -580,7 +580,7 @@ class ZoomManager { mInvZoomOverviewWidth = 1.0f / width; } - private float getZoomOverviewScale() { + /* package */ float getZoomOverviewScale() { return mWebView.getViewWidth() * mInvZoomOverviewWidth; } @@ -672,7 +672,10 @@ class ZoomManager { } public boolean onScale(ScaleGestureDetector detector) { - float scale = Math.round(detector.getScaleFactor() * mActualScale * 100) * 0.01f; + // Prevent scaling beyond overview scale. + float scale = Math.max( + Math.round(detector.getScaleFactor() * mActualScale * 100) * 0.01f, + getZoomOverviewScale()); if (willScaleTriggerZoom(scale)) { mPinchToZoomAnimating = true; // limit the scale change per step |