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

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

Fine tune the zoom overview behavior.

issue: 3451476
Change-Id: Idc267979ae0b33f4f2fbcb9aab7739bdd1dc1eff
parent 4f674407
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3302,7 +3302,7 @@ public class WebView extends AbsoluteLayout
            }
            mPageThatNeedsToSlideTitleBarOffScreen = null;
        }

        mZoomManager.onPageFinished(url);
        injectAccessibilityForUrl(url);
    }

+20 −3
Original line number Diff line number Diff line
@@ -875,12 +875,21 @@ class ZoomManager {
        // fit the content width to the current view for the first new picture
        // after first layout.
        boolean scaleHasDiff = exceedsMinScaleIncrement(newZoomOverviewScale, mActualScale);
        if (!mWebView.drawHistory() && mInitialZoomOverview && scaleHasDiff) {
        // Make sure the actual scale is no less than zoom overview scale.
        boolean scaleLessThanOverview =
                (newZoomOverviewScale - mActualScale) >= MINIMUM_SCALE_INCREMENT;
        // Make sure mobile sites are correctly handled since mobile site will
        // change content width after rotating.
        boolean mobileSiteInOverview = mInZoomOverview &&
                !exceedsMinScaleIncrement(newZoomOverviewScale, 1.0f);
        if (!mWebView.drawHistory() &&
                (mInitialZoomOverview || scaleLessThanOverview || mobileSiteInOverview) &&
                scaleHasDiff) {
            mInitialZoomOverview = false;
            setZoomScale(newZoomOverviewScale, !willScaleTriggerZoom(mTextWrapScale) &&
                !mWebView.getSettings().getUseFixedViewport());
        } else if (scaleHasDiff) {
            mInZoomOverview = false;
        } else {
            mInZoomOverview = !scaleHasDiff;
        }
    }

@@ -1061,4 +1070,12 @@ class ZoomManager {
    public void setHardwareAccelerated() {
        mHardwareAccelerated = true;
    }

    /**
     * OnPageFinished called by webview when a page is fully loaded.
     */
    /* package*/ void onPageFinished(String url) {
        // Turn off initial zoom overview flag when a page is fully loaded.
        mInitialZoomOverview = false;
    }
}