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

Commit 69ec5c22 authored by Leon Scroggins's avatar Leon Scroggins
Browse files

Remove the WebTextView if it is drawing when it shouldn't.

Bug 2614064

Change-Id: Id5d0a27e862bb783299f6fa4863221a27318f52c
parent a6ece18d
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -300,6 +300,23 @@ import java.util.ArrayList;
        return connection;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        // onDraw should only be called for password fields.  If WebTextView is
        // still drawing, but is no longer corresponding to a password field,
        // remove it.
        if (mWebView == null || !mWebView.nativeFocusCandidateIsPassword()
                || !isSameTextField(mWebView.nativeFocusCandidatePointer())) {
            // Although calling remove() would seem to make more sense here,
            // changing it to not be a password field will make it not draw.
            // Other code will make sure that it is removed completely, but this
            // way the user will not see it.
            setInPassword(false);
        } else {
            super.onDraw(canvas);
        }
    }

    @Override
    public void onEditorAction(int actionCode) {
        switch (actionCode) {
+2 −2
Original line number Diff line number Diff line
@@ -7256,13 +7256,13 @@ public class WebView extends AbsoluteLayout
    private native void     nativeFindNext(boolean forward);
    /* package */ native int      nativeFocusCandidateFramePointer();
    /* package */ native boolean  nativeFocusCandidateHasNextTextfield();
    private native boolean  nativeFocusCandidateIsPassword();
    /* package */ native boolean  nativeFocusCandidateIsPassword();
    private native boolean  nativeFocusCandidateIsRtlText();
    private native boolean  nativeFocusCandidateIsTextInput();
    /* package */ native int      nativeFocusCandidateMaxLength();
    /* package */ native String   nativeFocusCandidateName();
    private native Rect     nativeFocusCandidateNodeBounds();
    private native int      nativeFocusCandidatePointer();
    /* package */ native int      nativeFocusCandidatePointer();
    private native String   nativeFocusCandidateText();
    private native int      nativeFocusCandidateTextSize();
    /**