Merge "Use overview scale when restored scale is 0."

This commit is contained in:
Mangesh Ghiware
2011-09-21 15:20:03 -07:00
committed by Android (Google) Code Review
3 changed files with 14 additions and 9 deletions

View File

@@ -7169,6 +7169,14 @@ public class WebView extends AbsoluteLayout
return mZoomManager.getDefaultScale(); return mZoomManager.getDefaultScale();
} }
/**
* Return the overview scale of the WebView
* @return The overview scale.
*/
float getZoomOverviewScale() {
return mZoomManager.getZoomOverviewScale();
}
/** /**
* @return TRUE if the WebView can be zoomed in. * @return TRUE if the WebView can be zoomed in.
*/ */

View File

@@ -2512,10 +2512,13 @@ public final class WebViewCore {
// called by JNI // called by JNI
private void restoreScale(float scale, float textWrapScale) { private void restoreScale(float scale, float textWrapScale) {
if (mBrowserFrame.firstLayoutDone() == false) { if (mBrowserFrame.firstLayoutDone() == false) {
final float defaultScale = mWebView.getDefaultZoomScale(); // If restored scale and textWrapScale are 0, set them to
mRestoredScale = (scale <= 0.0) ? defaultScale : scale; // overview and reading level scale respectively.
mRestoredScale = (scale <= 0.0)
? mWebView.getZoomOverviewScale() : scale;
if (mSettings.getUseWideViewPort()) { if (mSettings.getUseWideViewPort()) {
mRestoredTextWrapScale = (textWrapScale <= 0.0) ? defaultScale : textWrapScale; mRestoredTextWrapScale = (textWrapScale <= 0.0)
? mWebView.getReadingLevelScale() : textWrapScale;
} }
} }
} }

View File

@@ -1128,12 +1128,6 @@ class ZoomManager {
mTextWrapScale = Math.max(mTextWrapScale, overviewScale); mTextWrapScale = Math.max(mTextWrapScale, overviewScale);
} }
reflowText = exceedsMinScaleIncrement(mTextWrapScale, scale); reflowText = exceedsMinScaleIncrement(mTextWrapScale, scale);
} else {
// In case of restored scale, treat defaultScale as overview since
// it usually means the previous scale is not saved.
if (scale == mDefaultScale && settings.getLoadWithOverviewMode()) {
scale = overviewScale;
}
} }
mInitialZoomOverview = settings.getLoadWithOverviewMode() && mInitialZoomOverview = settings.getLoadWithOverviewMode() &&
!exceedsMinScaleIncrement(scale, overviewScale); !exceedsMinScaleIncrement(scale, overviewScale);