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 Diff line number Diff line
@@ -1817,7 +1817,6 @@ final class WebViewCore {
        int mScrollX;
        int mScrollY;
        boolean mMobileSite;
        int mViewportWidth;
    }

    static class DrawData {
@@ -1859,15 +1858,6 @@ final class WebViewCore {
            }
            if (mInitialViewState != null) {
                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;
            }
            if (DebugFlags.WEB_VIEW_CORE) Log.v(LOGTAG, "webkitDraw NEW_PICTURE_MSG_ID");
@@ -2201,7 +2191,6 @@ final class WebViewCore {
        mInitialViewState.mScrollX = mRestoredX;
        mInitialViewState.mScrollY = mRestoredY;
        mInitialViewState.mMobileSite = (0 == mViewportWidth);
        mInitialViewState.mViewportWidth = mViewportWidth;
        if (mRestoredScale > 0) {
            mInitialViewState.mViewScale = mRestoredScale / 100.0f;
            if (mRestoredTextWrapScale > 0) {
+11 −13
Original line number Diff line number Diff line
@@ -778,12 +778,6 @@ class ZoomManager {
        } else {
            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) {
        final int viewWidth = mWebView.getViewWidth();

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

        final float zoomOverviewScale = getZoomOverviewScale();