Password auto-fill does not happen on https://member.aetna.com/appConfig/login/login.fcc |
|||
Issue descriptionChrome Version : 64.0.3279.0 OS Version: OS X 10.12.6 URLs (if applicable) : https://member.aetna.com/appConfig/login/login.fcc On this login page, the username and password are not getting auto-populated. The password "key" icon is displayed at the right end of the omnibar and clicking on it shows that the password manager does contain the login credentials for this site.
,
Dec 1 2017
,
Jan 24 2018
The issue in this case is the following: The form looks as this: <input type="text" id="userName"> <input type="text" tabindex="-1" style="display:none"> <input type="password" name="PASSWORD"> <input type="password" tabindex="-1" style="display:none"> The sequence of two password fields trick the password manager to believe that this is a password change form (in which you type a new password and repeat it). Password change forms are not filled.
,
Jan 25 2018
Everything is a little bit more interesting. Password Manager filter out invisible fields (and here 2 types clearly invisible and we can detect it easily). So it should work. I dug a little bit more. Exact flow is the following: 1.Password Manager detects the password form, when the form is not visible yet (there is some circle progress bar on the site shown and so form is not visible yet). 2.So all fields on the password form are invisible, so Password Manager take into consideration all of them. So it's considered as change password form. 3.PasswordFormManager corresponding to this form is created and credentials are sent to fill on account select (we don't fill change password forms on load). 4.When the form is shown, PasswordAutofillAgent sees it again (for some reason OnDynamicallyAddedForm is called, and that's good). Now it's correctly detected which fields are invisible and the form is parsed correctly as sign-in form. 5.PasswordForm is sent to the browser process. PasswordManager detects that the PasswordFormManager is already created and assumes that it's already autofilled. So PasswordManager stops to process it and no new autofill data is sent. So it looks that in order to fix it, we just need to continue processing in step 5, for forms that have different parsing in comparison to initial parsing. This is exact place where we drop processing https://cs.chromium.org/chromium/src/components/password_manager/core/browser/password_manager.cc?type=cs&q=if+%5C(old_manager-%3EDoesManage%5C(%5C*iter,+driver%5C)&sq=package:chromium&l=626 |
|||
►
Sign in to add a comment |
|||
Comment 1 by vakh@chromium.org
, Nov 30 2017