Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c72fff0 authored by Grace Kloba's avatar Grace Kloba
Browse files

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
parent 93a751d6
Loading
Loading
Loading
Loading
+18 −7
Original line number Diff line number Diff line
@@ -5203,8 +5203,19 @@ public class WebView extends AbsoluteLayout
                        mInZoomOverview = false;
                        mLastScale = restoreState.mTextWrapScale;
                        if (restoreState.mMinScale == 0) {
                            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;
                            }
                        }
+4 −4
Original line number Diff line number Diff line
@@ -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;