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

Commit 8257e4d7 authored by Leon Scroggins's avatar Leon Scroggins Committed by Android (Google) Code Review
Browse files

Merge "DO NOT MERGE. Only scroll if the IME is open in certain cases." into honeycomb

parents f8cc65c4 e89d6418
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -7144,6 +7144,16 @@ public class WebView extends AbsoluteLayout
                    setContentScrollTo(msg.arg1, msg.arg2);
                    break;
                case SCROLL_TO_MSG_ID:
                    if (((Boolean) msg.obj).booleanValue()) {
                        // This scroll is intended to bring the textfield into
                        // view, but is only necessary if the IME is showing
                        InputMethodManager imm = InputMethodManager.peekInstance();
                        if (imm == null || !imm.isAcceptingText()
                                || (!imm.isActive(WebView.this) && (!inEditingMode()
                                || !imm.isActive(mWebTextView)))) {
                            break;
                        }
                    }
                    if (setContentScrollTo(msg.arg1, msg.arg2)) {
                        // if we can't scroll to the exact position due to pin,
                        // send a message to WebCore to re-scroll when we get a
+3 −2
Original line number Diff line number Diff line
@@ -2120,7 +2120,7 @@ final class WebViewCore {
    }

    // called by JNI
    private void contentScrollTo(int x, int y) {
    private void contentScrollTo(int x, int y, boolean onlyIfImeIsShowing) {
        if (!mBrowserFrame.firstLayoutDone()) {
            /*
             * WebKit restore state will be called before didFirstLayout(),
@@ -2133,7 +2133,8 @@ final class WebViewCore {
        }
        if (mWebView != null) {
            Message msg = Message.obtain(mWebView.mPrivateHandler,
                    WebView.SCROLL_TO_MSG_ID, x, y);
                    WebView.SCROLL_TO_MSG_ID, x, y,
                    Boolean.valueOf(onlyIfImeIsShowing));
            if (mDrawIsScheduled) {
                mEventHub.sendMessage(Message.obtain(null,
                        EventHub.MESSAGE_RELAY, msg));