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

Commit 520d6840 authored by Grace Kloba's avatar Grace Kloba Committed by Android Git Automerger
Browse files

am 667543cd: Merge "Revert "Use the content width to calculate the zoom overview"" into froyo

Merge commit '667543cd' into froyo-plus-aosp

* commit '667543cd':
  Revert "Use the content width to calculate the zoom overview"
parents b37abe38 667543cd
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -6153,7 +6153,7 @@ public class WebView extends AbsoluteLayout
                case UPDATE_ZOOM_RANGE: {
                    WebViewCore.RestoreState restoreState
                            = (WebViewCore.RestoreState) msg.obj;
                    // mScrollX contains the new contentWidth
                    // mScrollX contains the new minPrefWidth
                    updateZoomRange(restoreState, getViewWidth(),
                            restoreState.mScrollX, false);
                    break;
@@ -6176,7 +6176,7 @@ public class WebView extends AbsoluteLayout
                    boolean hasRestoreState = restoreState != null;
                    if (hasRestoreState) {
                        updateZoomRange(restoreState, viewSize.x,
                                draw.mWidthHeight.x, true);
                                draw.mMinPrefWidth, true);
                        if (!mDrawHistory) {
                            mInZoomOverview = false;

@@ -6238,12 +6238,10 @@ public class WebView extends AbsoluteLayout
                        // sMaxViewportWidth so that if the page doesn't behave
                        // well, the WebView won't go insane. limit the lower
                        // bound to match the default scale for mobile sites.
                        // we choose the content width to be mZoomOverviewWidth.
                        // this works for most of the sites. But some sites may
                        // cause the page layout wider than it needs.
                        mZoomOverviewWidth = Math.min(sMaxViewportWidth, Math
                                .max((int) (viewWidth / mDefaultScale),
                                        draw.mWidthHeight.x));
                                .max((int) (viewWidth / mDefaultScale), Math
                                        .max(draw.mMinPrefWidth,
                                                draw.mViewPoint.x)));
                    }
                    if (!mMinZoomScaleFixed) {
                        mMinZoomScale = (float) viewWidth / mZoomOverviewWidth;
@@ -6893,13 +6891,12 @@ public class WebView extends AbsoluteLayout
                new InvokeListBox(array, enabledArray, selectedArray));
    }

    // viewWidth/contentWidth/updateZoomOverview are only used for mobile sites
    private void updateZoomRange(WebViewCore.RestoreState restoreState,
            int viewWidth, int contentWidth, boolean updateZoomOverview) {
            int viewWidth, int minPrefWidth, boolean updateZoomOverview) {
        if (restoreState.mMinScale == 0) {
            if (restoreState.mMobileSite) {
                if (contentWidth > Math.max(0, viewWidth)) {
                    mMinZoomScale = (float) viewWidth / contentWidth;
                if (minPrefWidth > Math.max(0, viewWidth)) {
                    mMinZoomScale = (float) viewWidth / minPrefWidth;
                    mMinZoomScaleFixed = false;
                    if (updateZoomOverview) {
                        WebSettings settings = getSettings();
+9 −1
Original line number Diff line number Diff line
@@ -1705,6 +1705,7 @@ final class WebViewCore {
        Region mInvalRegion;
        Point mViewPoint;
        Point mWidthHeight;
        int mMinPrefWidth;
        RestoreState mRestoreState; // only non-null if it is for the first
                                    // picture set after the first layout
        boolean mFocusSizeChanged;
@@ -1724,6 +1725,13 @@ final class WebViewCore {
            // layout.
            draw.mFocusSizeChanged = nativeFocusBoundsChanged();
            draw.mViewPoint = new Point(mCurrentViewWidth, mCurrentViewHeight);
            if (mSettings.getUseWideViewPort()) {
                draw.mMinPrefWidth = Math.max(
                        mViewportWidth == -1 ? WebView.DEFAULT_VIEWPORT_WIDTH
                                : (mViewportWidth == 0 ? mCurrentViewWidth
                                        : mViewportWidth),
                        nativeGetContentMinPrefWidth());
            }
            if (mRestoreState != null) {
                draw.mRestoreState = mRestoreState;
                mRestoreState = null;
@@ -2077,7 +2085,7 @@ final class WebViewCore {
            restoreState.mDefaultScale = adjust;
            // as mViewportWidth is not 0, it is not mobile site.
            restoreState.mMobileSite = false;
            // for non-mobile site, we don't need contentWidth, set it as 0
            // for non-mobile site, we don't need minPrefWidth, set it as 0
            restoreState.mScrollX = 0;
            Message.obtain(mWebView.mPrivateHandler,
                    WebView.UPDATE_ZOOM_RANGE, restoreState).sendToTarget();