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

Commit e87d2da0 authored by Mangesh Ghiware's avatar Mangesh Ghiware Committed by Android Git Automerger
Browse files

am ade26e2e: Merge "Fix restore of view and text wrap scales." into ics-mr1

* commit 'ade26e2e':
  Fix restore of view and text wrap scales.
parents 5f7a0055 ade26e2e
Loading
Loading
Loading
Loading
+8 −15
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ public final class WebViewCore {
     */
    private int mViewportDensityDpi = -1;

    private boolean mIsRestored = false;
    private float mRestoredScale = 0;
    private float mRestoredTextWrapScale = 0;
    private int mRestoredX = 0;
@@ -2254,7 +2255,7 @@ public final class WebViewCore {

        if (mWebView == null) return;

        boolean updateViewState = standardLoad || mRestoredScale > 0;
        boolean updateViewState = standardLoad || mIsRestored;
        setupViewport(updateViewState);
        // if updateRestoreState is true, ViewManager.postReadyToDrawAll() will
        // be called after the WebView updates its state. If updateRestoreState
@@ -2271,6 +2272,7 @@ public final class WebViewCore {

        // reset the scroll position, the restored offset and scales
        mRestoredX = mRestoredY = 0;
        mIsRestored = false;
        mRestoredScale = mRestoredTextWrapScale = 0;
    }

@@ -2399,14 +2401,10 @@ public final class WebViewCore {
        mInitialViewState.mScrollX = mRestoredX;
        mInitialViewState.mScrollY = mRestoredY;
        mInitialViewState.mMobileSite = (0 == mViewportWidth);
        if (mRestoredScale > 0) {
        if (mIsRestored) {
            mInitialViewState.mIsRestored = true;
            mInitialViewState.mViewScale = mRestoredScale;
            if (mRestoredTextWrapScale > 0) {
            mInitialViewState.mTextWrapScale = mRestoredTextWrapScale;
            } else {
                mInitialViewState.mTextWrapScale = mInitialViewState.mViewScale;
            }
        } else {
            if (mViewportInitialScale > 0) {
                mInitialViewState.mViewScale = mInitialViewState.mTextWrapScale =
@@ -2525,14 +2523,9 @@ public final class WebViewCore {
    // called by JNI
    private void restoreScale(float scale, float textWrapScale) {
        if (mBrowserFrame.firstLayoutDone() == false) {
            // If restored scale and textWrapScale are 0, set them to
            // overview and reading level scale respectively.
            mRestoredScale = (scale <= 0.0)
                ? mWebView.getZoomOverviewScale() : scale;
            if (mSettings.getUseWideViewPort()) {
                mRestoredTextWrapScale = (textWrapScale <= 0.0)
                    ? mWebView.getReadingLevelScale() : textWrapScale;
            }
            mIsRestored = true;
            mRestoredScale = scale;
            mRestoredTextWrapScale = textWrapScale;
        }
    }

+5 −3
Original line number Diff line number Diff line
@@ -1121,9 +1121,11 @@ class ZoomManager {
            if (mInitialScale > 0) {
                scale = mInitialScale;
                mTextWrapScale = scale;
            } else if (viewState.mViewScale > 0) {
                mTextWrapScale = viewState.mTextWrapScale;
                scale = viewState.mViewScale;
            } else if (viewState.mIsRestored) {
                scale = (viewState.mViewScale > 0)
                    ? viewState.mViewScale : overviewScale;
                mTextWrapScale = (viewState.mTextWrapScale > 0)
                    ? viewState.mTextWrapScale : getReadingLevelScale();
            } else {
                scale = overviewScale;
                if (!settings.getUseWideViewPort()