Autofill on Sephora.com login does not allow you to actually select the autofill suggestion |
||||||||||
Issue descriptionChrome Version: 63.0.3239.132 to 66.0.3328.0 OS: Win 10, Mac Sierra What steps will reproduce the problem? (1) go to sephora.com (2) press sign in (3) start typing an email address that's saved in autofill (4) you'll see the autofill suggestion, but if you press enter or click on the email, nothing happens - the email does not get added to the sign in field What is the expected result? Autofill suggestion will be accepted What happens instead? Autofill suggestion is visible but when you select it, nothing happens
,
Jan 29 2018
,
Jan 30 2018
Cannot reproduce on Linux and version 64.0.3282.119. Could you please open chrome://password-manager-internals/ in a second tab, reproduce the issue again and share the contents of chrome://password-manager-internals/ here?
,
Jan 30 2018
I can reproduce it.
,
Jan 30 2018
,
Feb 9 2018
This bug is about non-password autofill. I've checked if there are saved credentials, than they are autofilled correctly.
I've debugged a little bit Autofill code and found a reason:
1.There is no <form> tag for sign-in form, there are 4 input elements - username, password and 2 radio boxes. The first two of them have autocomplete attributes.
2.When the user clicks on username field, function UnownedCheckoutFormElementsAndFieldSetsToFormData is used to find form structure, namely the last
return UnownedFormElementsAndFieldSetsToFormData(
fieldsets, elements_with_autocomplete, element, document, nullptr,
extract_mask, form, field);
Which as far as I understand is called in case when there are elements with autocomplete attributes. So on only fields with autocomplete attributes are parsed - i.e. username and password.
3.When the user accepts suggestions, there is another flow for finding which elements are relevant for autofill, which doesn't take into account autocomplete attributes. Function ForEachMatchingFormFieldCommon is called, and the first lines of it
if (control_elements->size() != data.fields.size()) {
return;
}
and here control_elements - all inputs - there are 4 of them
data.fields - inputs with autocomplete from step 2, there are 2 of them.
And as result nothing is filled.
It looks that it would be correct in step 2 to send all fields to the browser process, not only with autocomplete. But I'm not familiar with Autofill code, and so I leave this bug in Autofill team queue.
,
May 22 2018
,
Jul 9
Mac triage: kicking back to mathp@ for autofill triage.
,
Jul 9
,
Jul 9
This bug is addressed by supporting all formless forms (see crbug.com/806987), which removes/bypasses the code in question. This is dup is crbug.com/841784
,
Jul 9
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by krajshree@chromium.org
, Jan 29 2018