diff options
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 2 | ||||
| -rw-r--r-- | core/java/android/webkit/ZoomManager.java | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index 16e457103fa6..2e84a9a20c84 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -1903,7 +1903,7 @@ public final class WebViewCore { width = mViewportWidth; } else { // For mobile web site. - width = viewWidth; + width = mWebView.getViewWidth(); } } return width; diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java index 780339143620..fe6fb2f33f39 100644 --- a/core/java/android/webkit/ZoomManager.java +++ b/core/java/android/webkit/ZoomManager.java @@ -634,8 +634,17 @@ class ZoomManager { } else { newTextWrapScale = mActualScale; } + final boolean firstTimeReflow = !exceedsMinScaleIncrement(mActualScale, mTextWrapScale); + if (firstTimeReflow || mInZoomOverview) { + // In case first time reflow or in zoom overview mode, let reflow and zoom + // happen at the same time. + mTextWrapScale = newTextWrapScale; + } if (settings.isNarrowColumnLayout() - && exceedsMinScaleIncrement(mTextWrapScale, newTextWrapScale)) { + && exceedsMinScaleIncrement(mTextWrapScale, newTextWrapScale) + && !firstTimeReflow + && !mInZoomOverview) { + // Reflow only. mTextWrapScale = newTextWrapScale; refreshZoomScale(true); } else if (!mInZoomOverview && willScaleTriggerZoom(getZoomOverviewScale())) { |