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

Commit 3f06a9b9 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 26150 into eclair

* changes:
  Account for find dialog height in content height
parents 596edaf3 5bb6b52b
Loading
Loading
Loading
Loading
+24 −7
Original line number Diff line number Diff line
@@ -2001,7 +2001,7 @@ public class WebView extends AbsoluteLayout
        getGlobalVisibleRect(r, p);
        r.offset(-p.x, -p.y);
        if (mFindIsUp) {
            r.bottom -= FIND_HEIGHT;
            r.bottom -= mFindHeight;
        }
    }

@@ -2073,9 +2073,6 @@ public class WebView extends AbsoluteLayout
        }
    }

    // Make sure this stays in sync with the actual height of the FindDialog.
    private static final int FIND_HEIGHT = 79;

    @Override
    protected int computeVerticalScrollRange() {
        if (mDrawHistory) {
@@ -2306,7 +2303,11 @@ public class WebView extends AbsoluteLayout
     *              that were found.
     */
    public int findAll(String find) {
        if (mFindIsUp == false) {
            recordNewContentSize(mContentWidth, mContentHeight + mFindHeight,
                    false);
            mFindIsUp = true;
        }
        int result = nativeFindAll(find.toLowerCase(), find.toUpperCase());
        invalidate();
        return result;
@@ -2315,6 +2316,7 @@ public class WebView extends AbsoluteLayout
    // Used to know whether the find dialog is open.  Affects whether
    // or not we draw the highlights for matches.
    private boolean mFindIsUp;
    private int mFindHeight;

    /**
     * Return the first substring consisting of the address of a physical
@@ -2370,7 +2372,11 @@ public class WebView extends AbsoluteLayout
     * Clear the highlighting surrounding text matches created by findAll.
     */
    public void clearMatches() {
        if (mFindIsUp) {
            recordNewContentSize(mContentWidth, mContentHeight - mFindHeight,
                    false);
            mFindIsUp = false;
        }
        nativeSetFindIsDown();
        // Now that the dialog has been removed, ensure that we scroll to a
        // location that is not beyond the end of the page.
@@ -2378,6 +2384,16 @@ public class WebView extends AbsoluteLayout
        invalidate();
    }

    /**
     * @hide
     */
    public void setFindDialogHeight(int height) {
        if (DebugFlags.WEB_VIEW) {
            Log.v(LOGTAG, "setFindDialogHeight height=" + height);
        }
        mFindHeight = height;
    }

    /**
     * Query the document to see if it contains any image references. The
     * message object will be dispatched with arg1 being set to 1 if images
@@ -4869,7 +4885,8 @@ public class WebView extends AbsoluteLayout
                    final boolean updateLayout = viewSize.x == mLastWidthSent
                            && viewSize.y == mLastHeightSent;
                    recordNewContentSize(draw.mWidthHeight.x,
                            draw.mWidthHeight.y, updateLayout);
                            draw.mWidthHeight.y
                            + (mFindIsUp ? mFindHeight : 0), updateLayout);
                    if (DebugFlags.WEB_VIEW) {
                        Rect b = draw.mInvalRegion.getBounds();
                        Log.v(LOGTAG, "NEW_PICTURE_MSG_ID {" +