diff options
author | Mangesh Ghiware <mghiware@google.com> | 2011-09-21 13:58:47 -0700 |
---|---|---|
committer | Mangesh Ghiware <mghiware@google.com> | 2011-09-21 14:57:11 -0700 |
commit | faab93d1acb9738c8e2d90e20e19facc0e3eea6e (patch) | |
tree | c1b9fe2717f5ed6337fed8075296ffd874b76441 | |
parent | cec857d85c838ed7253c64b84d5b1354be7595b1 (diff) | |
download | frameworks_base-faab93d1acb9738c8e2d90e20e19facc0e3eea6e.zip frameworks_base-faab93d1acb9738c8e2d90e20e19facc0e3eea6e.tar.gz frameworks_base-faab93d1acb9738c8e2d90e20e19facc0e3eea6e.tar.bz2 |
Use overview scale when restored scale is 0.
If restored scale and text wrap scale are set to 0 (meaning the previous
scale wasn't saved), set them to overview and reading level scale
respectively.
Bug: 5230909
Change-Id: If7724e9a0cd948c88d0a001728266a3282083bdc
-rw-r--r-- | core/java/android/webkit/WebView.java | 8 | ||||
-rw-r--r-- | core/java/android/webkit/WebViewCore.java | 9 | ||||
-rw-r--r-- | core/java/android/webkit/ZoomManager.java | 6 |
3 files changed, 14 insertions, 9 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 122a717..47629c4 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -7170,6 +7170,14 @@ public class WebView extends AbsoluteLayout } /** + * 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. */ public boolean canZoomIn() { diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index 48359d4..470e843 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -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; } } } diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java index 7ca6aeb..7f526e7 100644 --- a/core/java/android/webkit/ZoomManager.java +++ b/core/java/android/webkit/ZoomManager.java @@ -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); |