summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorMangesh Ghiware <mghiware@google.com>2011-10-31 14:41:38 -0700
committerMangesh Ghiware <mghiware@google.com>2011-10-31 14:41:38 -0700
commitca4d54c486176fec32400217e2dc0e3091dab858 (patch)
tree38a4a8d4885da85351567468b36d1dd4a4e8e601 /core/java/android
parent63dd319ebeea0421f8bf901b85b753dde1de74d7 (diff)
Clamp initial scale between minimum and maximum values.
Fixes bug 5515454: web page is not optimized (gmarket) Initial scale is used to detect mobile sites In ICS, mobile site detection based on whether the URL included m., mobile., wap., etc. has been removed in exclusive favor of the meta viewport tag. Within meta viewport tag, mobile site detection uses width (set to device-width), initial-scale (set to 1.0 or default scale), etc. Make this logic more robust by clamping initial scale between minimum and maximum values, if specified. Change-Id: I663c50ce20b35279d37a8c812e91d6bc4c16c1d3
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/webkit/WebViewCore.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index e6fa4d7e1351..22e86c77f3d7 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -2290,6 +2290,18 @@ public final class WebViewCore {
// set the viewport settings from WebKit
setViewportSettingsFromNative();
+ // clamp initial scale
+ if (mViewportInitialScale > 0) {
+ if (mViewportMinimumScale > 0) {
+ mViewportInitialScale = Math.max(mViewportInitialScale,
+ mViewportMinimumScale);
+ }
+ if (mViewportMaximumScale > 0) {
+ mViewportInitialScale = Math.min(mViewportInitialScale,
+ mViewportMaximumScale);
+ }
+ }
+
if (mSettings.forceUserScalable()) {
mViewportUserScalable = true;
if (mViewportInitialScale > 0) {