am dc30d28b: Merge change I3656f7a3 into eclair
Merge commit 'dc30d28bc8321171fbf4ed92a9486eb8dd382259' into eclair-plus-aosp
* commit 'dc30d28bc8321171fbf4ed92a9486eb8dd382259':
Honor the mInitialScale set on WebView. This was
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index a8d9f1d..691fa77 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -500,7 +500,7 @@
private boolean mMinZoomScaleFixed = true;
// initial scale in percent. 0 means using default.
- private int mInitialScale = 0;
+ private int mInitialScaleInPercent = 0;
// while in the zoom overview mode, the page's width is fully fit to the
// current window. The page is alive, in another words, you can click to
@@ -1595,7 +1595,7 @@
* @param scaleInPercent The initial scale in percent.
*/
public void setInitialScale(int scaleInPercent) {
- mInitialScale = scaleInPercent;
+ mInitialScaleInPercent = scaleInPercent;
}
/**
@@ -3615,6 +3615,13 @@
mMinZoomScale = Math.min(1.0f, (float) getViewWidth()
/ (mDrawHistory ? mHistoryPicture.getWidth()
: mZoomOverviewWidth));
+ if (mInitialScaleInPercent > 0) {
+ // limit the minZoomScale to the initialScale if it is set
+ float initialScale = mInitialScaleInPercent / 100.0f;
+ if (mMinZoomScale > initialScale) {
+ mMinZoomScale = initialScale;
+ }
+ }
}
// we always force, in case our height changed, in which case we still
@@ -4967,7 +4974,9 @@
WebViewCore.RestoreState restoreState = draw.mRestoreState;
if (restoreState != null) {
mInZoomOverview = false;
- mLastScale = restoreState.mTextWrapScale;
+ mLastScale = mInitialScaleInPercent > 0
+ ? mInitialScaleInPercent / 100.0f
+ : restoreState.mTextWrapScale;
if (restoreState.mMinScale == 0) {
if (restoreState.mMobileSite) {
if (draw.mMinPrefWidth >