From 1151fe78fc96e5869ec7adb437966e22c94902e0 Mon Sep 17 00:00:00 2001 From: "Shimeng (Simon) Wang" Date: Fri, 8 Jul 2011 14:33:11 -0700 Subject: [PATCH] Prevent set mInitialScale being overridden by mDefaultScale. If mInitialScale is set, use it as the default scale; otherwise, it'll be overridden by default density in case of book app where mobile fixed viewport is used; since today the default scale is used to calculate the mobile fixed viewport. issue: 4982074 Change-Id: I21c2bf41478bb97351cb3fb1cc3735ab7d75e164 --- core/java/android/webkit/ZoomManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java index 7d43e94ff6956..9269355585695 100644 --- a/core/java/android/webkit/ZoomManager.java +++ b/core/java/android/webkit/ZoomManager.java @@ -300,7 +300,7 @@ class ZoomManager { } public final float getDefaultScale() { - return mDefaultScale; + return mInitialScale > 0 ? mInitialScale : mDefaultScale; } public final float getReadingLevelScale() { @@ -1087,6 +1087,7 @@ class ZoomManager { float scale; if (mInitialScale > 0) { scale = mInitialScale; + mTextWrapScale = scale; } else if (viewState.mViewScale > 0) { mTextWrapScale = viewState.mTextWrapScale; scale = viewState.mViewScale; @@ -1105,7 +1106,7 @@ class ZoomManager { } boolean reflowText = false; if (!viewState.mIsRestored) { - if (settings.getUseFixedViewport()) { + if (settings.getUseFixedViewport() && mInitialScale == 0) { // Override the scale only in case of fixed viewport. scale = Math.max(scale, overviewScale); mTextWrapScale = Math.max(mTextWrapScale, overviewScale);