Some mobile sites, like m.www.yahoo.com, slashdot.org (iPhone version),
have a bigger minPrefWidth than the screen width. So we don't want to force the minZoomScale to be same as defaultScale. Otherwise we won't be able to zoom out in these sites. Fix http://b/issue?id=2090718
This commit is contained in:
@@ -5203,8 +5203,19 @@ public class WebView extends AbsoluteLayout
|
||||
mInZoomOverview = false;
|
||||
mLastScale = restoreState.mTextWrapScale;
|
||||
if (restoreState.mMinScale == 0) {
|
||||
mMinZoomScale = DEFAULT_MIN_ZOOM_SCALE;
|
||||
mMinZoomScaleFixed = false;
|
||||
if (restoreState.mMobileSite) {
|
||||
if (draw.mMinPrefWidth > draw.mViewPoint.x) {
|
||||
mMinZoomScale = (float) viewWidth
|
||||
/ draw.mMinPrefWidth;
|
||||
mMinZoomScaleFixed = false;
|
||||
} else {
|
||||
mMinZoomScale = mDefaultScale;
|
||||
mMinZoomScaleFixed = true;
|
||||
}
|
||||
} else {
|
||||
mMinZoomScale = DEFAULT_MIN_ZOOM_SCALE;
|
||||
mMinZoomScaleFixed = false;
|
||||
}
|
||||
} else {
|
||||
mMinZoomScale = restoreState.mMinScale;
|
||||
mMinZoomScaleFixed = true;
|
||||
@@ -5217,11 +5228,11 @@ public class WebView extends AbsoluteLayout
|
||||
setNewZoomScale(mLastScale, false);
|
||||
setContentScrollTo(restoreState.mScrollX,
|
||||
restoreState.mScrollY);
|
||||
if (!ENABLE_DOUBLETAP_ZOOM
|
||||
|| !settings.getLoadWithOverviewMode()) {
|
||||
} else {
|
||||
if (useWideViewport
|
||||
&& restoreState.mViewScale == 0) {
|
||||
if (ENABLE_DOUBLETAP_ZOOM && useWideViewport
|
||||
&& settings.getLoadWithOverviewMode()) {
|
||||
if (restoreState.mViewScale == 0
|
||||
|| (restoreState.mMobileSite
|
||||
&& mMinZoomScale < mDefaultScale)) {
|
||||
mInZoomOverview = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1572,7 +1572,10 @@ final class WebViewCore {
|
||||
// layout.
|
||||
draw.mViewPoint = new Point(mCurrentViewWidth, mCurrentViewHeight);
|
||||
if (WebView.ENABLE_DOUBLETAP_ZOOM && mSettings.getUseWideViewPort()) {
|
||||
draw.mMinPrefWidth = Math.max(DEFAULT_VIEWPORT_WIDTH,
|
||||
draw.mMinPrefWidth = Math.max(
|
||||
mViewportWidth == -1 ? DEFAULT_VIEWPORT_WIDTH
|
||||
: (mViewportWidth == 0 ? mCurrentViewWidth
|
||||
: mViewportWidth),
|
||||
nativeGetContentMinPrefWidth());
|
||||
}
|
||||
if (mRestoreState != null) {
|
||||
@@ -1859,9 +1862,6 @@ final class WebViewCore {
|
||||
if (mViewportInitialScale == 0) {
|
||||
mViewportInitialScale = WebView.DEFAULT_SCALE_PERCENT;
|
||||
}
|
||||
if (mViewportMinimumScale == 0) {
|
||||
mViewportMinimumScale = WebView.DEFAULT_SCALE_PERCENT;
|
||||
}
|
||||
}
|
||||
if (mViewportUserScalable == false) {
|
||||
mViewportInitialScale = WebView.DEFAULT_SCALE_PERCENT;
|
||||
|
||||
Reference in New Issue
Block a user