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

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

Merge "Update textwrap scale when content width changes in overview mode."

parents 8cbb85dc dbf5ff29
Loading
Loading
Loading
Loading
+11 −7
Original line number Original line Diff line number Diff line
@@ -564,7 +564,7 @@ class ZoomManager {
                && exceedsMinScaleIncrement(mTextWrapScale, newTextWrapScale)) {
                && exceedsMinScaleIncrement(mTextWrapScale, newTextWrapScale)) {
            mTextWrapScale = newTextWrapScale;
            mTextWrapScale = newTextWrapScale;
            refreshZoomScale(true);
            refreshZoomScale(true);
        } else if (!mInZoomOverview) {
        } else if (!mInZoomOverview && willScaleTriggerZoom(getZoomOverviewScale())) {
            zoomToOverview();
            zoomToOverview();
        } else {
        } else {
            zoomToReadingLevel();
            zoomToReadingLevel();
@@ -589,8 +589,6 @@ class ZoomManager {
    }
    }


    private void zoomToOverview() {
    private void zoomToOverview() {
        if (!willScaleTriggerZoom(getZoomOverviewScale())) return;

        // Force the titlebar fully reveal in overview mode
        // Force the titlebar fully reveal in overview mode
        int scrollY = mWebView.getScrollY();
        int scrollY = mWebView.getScrollY();
        if (scrollY < mWebView.getTitleHeight()) {
        if (scrollY < mWebView.getTitleHeight()) {
@@ -800,9 +798,9 @@ class ZoomManager {
     */
     */
    public void onNewPicture(WebViewCore.DrawData drawData) {
    public void onNewPicture(WebViewCore.DrawData drawData) {
        final int viewWidth = mWebView.getViewWidth();
        final int viewWidth = mWebView.getViewWidth();

        WebSettings settings = mWebView.getSettings();
        if (mWebView.getSettings().getUseWideViewPort()) {
        if (settings.getUseWideViewPort()) {
            if (!mWebView.getSettings().getUseFixedViewport()) {
            if (!settings.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
@@ -812,7 +810,13 @@ class ZoomManager {
                            Math.max(drawData.mMinPrefWidth, drawData.mViewSize.x))));
                            Math.max(drawData.mMinPrefWidth, drawData.mViewSize.x))));
            } else {
            } else {
                final int contentWidth = Math.max(drawData.mContentSize.x, drawData.mMinPrefWidth);
                final int contentWidth = Math.max(drawData.mContentSize.x, drawData.mMinPrefWidth);
                setZoomOverviewWidth(Math.min(WebView.sMaxViewportWidth, contentWidth));
                final int newZoomOverviewWidth = Math.min(WebView.sMaxViewportWidth, contentWidth);
                if (newZoomOverviewWidth != mZoomOverviewWidth) {
                    setZoomOverviewWidth(newZoomOverviewWidth);
                    if (settings.isNarrowColumnLayout() && (mInitialZoomOverview || mInZoomOverview)) {
                        mTextWrapScale = getReadingLevelScale();
                    }
                }
            }
            }
        }
        }