summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/webkit/ZoomManager.java7
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