Merge "Use overview scale when restored scale is 0."
This commit is contained in:
committed by
Android (Google) Code Review
commit
f2bf48b7c6
@@ -7169,6 +7169,14 @@ public class WebView extends AbsoluteLayout
|
||||
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.
|
||||
*/
|
||||
|
||||
@@ -2512,10 +2512,13 @@ public final class WebViewCore {
|
||||
// called by JNI
|
||||
private void restoreScale(float scale, float textWrapScale) {
|
||||
if (mBrowserFrame.firstLayoutDone() == false) {
|
||||
final float defaultScale = mWebView.getDefaultZoomScale();
|
||||
mRestoredScale = (scale <= 0.0) ? defaultScale : scale;
|
||||
// If restored scale and textWrapScale are 0, set them to
|
||||
// overview and reading level scale respectively.
|
||||
mRestoredScale = (scale <= 0.0)
|
||||
? mWebView.getZoomOverviewScale() : scale;
|
||||
if (mSettings.getUseWideViewPort()) {
|
||||
mRestoredTextWrapScale = (textWrapScale <= 0.0) ? defaultScale : textWrapScale;
|
||||
mRestoredTextWrapScale = (textWrapScale <= 0.0)
|
||||
? mWebView.getReadingLevelScale() : textWrapScale;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1128,12 +1128,6 @@ class ZoomManager {
|
||||
mTextWrapScale = Math.max(mTextWrapScale, overviewScale);
|
||||
}
|
||||
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() &&
|
||||
!exceedsMinScaleIncrement(scale, overviewScale);
|
||||
|
||||
Reference in New Issue
Block a user