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

Commit b5c7ef33 authored by Leon Scroggins's avatar Leon Scroggins
Browse files

When passing the Message for saved form data, pass the node pointer properly.

Partial fix for http://b/issue?id=2232001

We were calling obtainMessage with the node pointer as an argument.  What we
really need to do is set arg1 to the node pointer.  Also, avoid checking for
saved form data for password fields and fields whose names are blank.
parent 4eeace3d
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -3241,24 +3241,29 @@ public class WebView extends AbsoluteLayout
            mWebTextView.setNodePointer(nodePointer);
            int maxLength = -1;
            boolean isTextField = nativeFocusCandidateIsTextField();
            boolean isPassword;
            if (isTextField) {
                maxLength = nativeFocusCandidateMaxLength();
                String name = nativeFocusCandidateName();
                if (mWebViewCore.getSettings().getSaveFormData()
                        && name != null) {
                isPassword = nativeFocusCandidateIsPassword();
                if (!isPassword && mWebViewCore.getSettings().getSaveFormData()
                        && name != null && name.length() > 0) {
                    Message update = mPrivateHandler.obtainMessage(
                            REQUEST_FORM_DATA, nodePointer);
                            REQUEST_FORM_DATA);
                    update.arg1 = nodePointer;
                    RequestFormData updater = new RequestFormData(name,
                            getUrl(), update);
                    Thread t = new Thread(updater);
                    t.start();
                }
            } else {
                isPassword = false;
            }
            mWebTextView.setMaxLength(maxLength);
            AutoCompleteAdapter adapter = null;
            mWebTextView.setAdapterCustom(adapter);
            mWebTextView.setSingleLine(isTextField);
            mWebTextView.setInPassword(nativeFocusCandidateIsPassword());
            mWebTextView.setInPassword(isPassword);
            if (null == text) {
                if (DebugFlags.WEB_VIEW) {
                    Log.v(LOGTAG, "rebuildWebTextView null == text");