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

Commit afc1c251 authored by Shimeng (Simon) Wang's avatar Shimeng (Simon) Wang
Browse files

Fixed viewport enhancement for site with viewport tag.

1. Use web content width to calculate overview scale in firstLayout time.
2. Skip pre-calculated viewScale in non-mobile fixed viewport case.

issue: 3003933
Change-Id: Ifdc475d96f5df824912197bf5818f5e649658edf
parent 6d383aad
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -830,20 +830,26 @@ class ZoomManager {
        WebViewCore.ViewState viewState = drawData.mViewState;
        final Point viewSize = drawData.mViewPoint;
        updateZoomRange(viewState, viewSize.x, drawData.mMinPrefWidth);
        if (mWebView.getSettings().getUseWideViewPort() &&
            mWebView.getSettings().getUseFixedViewport()) {
            final int contentWidth = drawData.mWidthHeight.x;
            setZoomOverviewWidth(Math.min(WebView.sMaxViewportWidth, contentWidth));
        }

        if (!mWebView.drawHistory()) {
            final float scale;
            final boolean reflowText;
            WebSettings settings = mWebView.getSettings();

            if (mInitialScale > 0) {
                scale = mInitialScale;
                reflowText = exceedsMinScaleIncrement(mTextWrapScale, scale);
            } else if (viewState.mViewScale > 0) {
            } else if (viewState.mViewScale > 0 && 
                (viewState.mMobileSite || !settings.getUseFixedViewport())) {
                mTextWrapScale = viewState.mTextWrapScale;
                scale = viewState.mViewScale;
                reflowText = false;
            } else {
                WebSettings settings = mWebView.getSettings();
                if (settings.getUseWideViewPort()
                    && (settings.getLoadWithOverviewMode() || settings.getUseFixedViewport())) {
                    mInitialZoomOverview = true;