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

Commit bf5b247f authored by Shimeng (Simon) Wang's avatar Shimeng (Simon) Wang Committed by Android (Google) Code Review
Browse files

Merge "Use real fixed viewport, and let the content width be the overview width."

parents 0b9ba91f 6d383aad
Loading
Loading
Loading
Loading
+0 −11
Original line number Original line Diff line number Diff line
@@ -1817,7 +1817,6 @@ final class WebViewCore {
        int mScrollX;
        int mScrollX;
        int mScrollY;
        int mScrollY;
        boolean mMobileSite;
        boolean mMobileSite;
        int mViewportWidth;
    }
    }


    static class DrawData {
    static class DrawData {
@@ -1859,15 +1858,6 @@ final class WebViewCore {
            }
            }
            if (mInitialViewState != null) {
            if (mInitialViewState != null) {
                draw.mViewState = mInitialViewState;
                draw.mViewState = mInitialViewState;
                if (mViewportWidth == -1 && mSettings.getUseFixedViewport() &&
                    mSettings.getUseWideViewPort()) {
                    final int fixedViewportMargin = mContext.getResources().getDimensionPixelSize(
                      com.android.internal.R.dimen.fixed_viewport_margin);
                    // Use website's initial preferred width as the fixed viewport width.
                    mViewportWidth = Math.min(mSettings.getMaxFixedViewportWidth(),
                        draw.mMinPrefWidth + 2 * fixedViewportMargin);
                    draw.mViewState.mViewportWidth = mViewportWidth;
                }
                mInitialViewState = null;
                mInitialViewState = null;
            }
            }
            if (DebugFlags.WEB_VIEW_CORE) Log.v(LOGTAG, "webkitDraw NEW_PICTURE_MSG_ID");
            if (DebugFlags.WEB_VIEW_CORE) Log.v(LOGTAG, "webkitDraw NEW_PICTURE_MSG_ID");
@@ -2201,7 +2191,6 @@ final class WebViewCore {
        mInitialViewState.mScrollX = mRestoredX;
        mInitialViewState.mScrollX = mRestoredX;
        mInitialViewState.mScrollY = mRestoredY;
        mInitialViewState.mScrollY = mRestoredY;
        mInitialViewState.mMobileSite = (0 == mViewportWidth);
        mInitialViewState.mMobileSite = (0 == mViewportWidth);
        mInitialViewState.mViewportWidth = mViewportWidth;
        if (mRestoredScale > 0) {
        if (mRestoredScale > 0) {
            mInitialViewState.mViewScale = mRestoredScale / 100.0f;
            mInitialViewState.mViewScale = mRestoredScale / 100.0f;
            if (mRestoredTextWrapScale > 0) {
            if (mRestoredTextWrapScale > 0) {
+11 −13
Original line number Original line Diff line number Diff line
@@ -778,12 +778,6 @@ class ZoomManager {
        } else {
        } else {
            mMaxZoomScale = viewState.mMaxScale;
            mMaxZoomScale = viewState.mMaxScale;
        }
        }
        if (viewState.mViewportWidth > 0 &&
            mWebView.getSettings().getUseFixedViewport() &&
            mWebView.getSettings().getUseWideViewPort()) {
            // Use website specified viewport width.
            setZoomOverviewWidth(viewState.mViewportWidth);
        }
    }
    }


    /**
    /**
@@ -793,8 +787,8 @@ class ZoomManager {
    public void onNewPicture(WebViewCore.DrawData drawData) {
    public void onNewPicture(WebViewCore.DrawData drawData) {
        final int viewWidth = mWebView.getViewWidth();
        final int viewWidth = mWebView.getViewWidth();


        if (!mWebView.getSettings().getUseFixedViewport()
        if (mWebView.getSettings().getUseWideViewPort()) {
            && mWebView.getSettings().getUseWideViewPort()) {
            if (!mWebView.getSettings().getUseFixedViewport()) {
                // limit mZoomOverviewWidth upper bound to
                // limit mZoomOverviewWidth upper bound to
                // sMaxViewportWidth so that if the page doesn't behave
                // sMaxViewportWidth so that if the page doesn't behave
                // well, the WebView won't go insane. limit the lower
                // well, the WebView won't go insane. limit the lower
@@ -802,6 +796,10 @@ class ZoomManager {
                setZoomOverviewWidth(Math.min(WebView.sMaxViewportWidth,
                setZoomOverviewWidth(Math.min(WebView.sMaxViewportWidth,
                    Math.max((int) (viewWidth * mInvDefaultScale),
                    Math.max((int) (viewWidth * mInvDefaultScale),
                            Math.max(drawData.mMinPrefWidth, drawData.mViewPoint.x))));
                            Math.max(drawData.mMinPrefWidth, drawData.mViewPoint.x))));
            } else {
                final int contentWidth = drawData.mWidthHeight.x;
                setZoomOverviewWidth(Math.min(WebView.sMaxViewportWidth, contentWidth));
            }
        }
        }


        final float zoomOverviewScale = getZoomOverviewScale();
        final float zoomOverviewScale = getZoomOverviewScale();