Passwords not filled on namecheap.com |
|||||||||
Issue descriptionRepro steps: (1) Save a password on https://www.namecheap.com (e.g., via chrome://flags/#enable-password-force-saving and context-menu). (2) Load https://www.namecheap.com/myaccount/login.aspx Expected: The saved password is filled. Actual: Nothing is filled, not even the password field alone can be filled on demand. Looking at the logs (below), PasswordAutofillAgent detects the form, asks browser to dig up the saved passwords, browser does and sends back, and then PasswordAutofillAgent cannot find the form again. Message: PasswordAutofillAgent::DidStartProvisionalLoad The new state of the UI: 0 Message: PasswordAutofillAgent::SendPasswordForms only_visible: false Security origin: https://www.namecheap.com/ Number of all forms: 2 Form is a password form: { Action : https://www.namecheap.com/ , New password element : , Origin : https://www.namecheap.com/ , PSL match : false, Password element : LoginPassword , Password generated : false, Scheme : HTML , Signon realm : https://www.namecheap.com/ , Times used : 0, Username element : LoginUserName } Message: PasswordManager::CreatePendingLoginManagers SSL errors present: false IsPasswordManagementEnabledForCurrentPage: true Number of pending login managers (before): 0 Adding manager for form: { Signature of form: 14675362245278660348 Signon realm: https://www.namecheap.com/ Origin: https://www.namecheap.com/ Action: https://www.namecheap.com/ Form name: aspnetForm Form fields: ctl00 ctl00 ctl00 ctl00 base_content web_base_content siteSearchQuery: 2373247994, search LoginUserName: 966024577, text LoginPassword: 3285376859, password LoginUserName: 966024577, text, on LoginPassword: 3285376859, password, on email: 1029417091, email ctl00 ctl00 ctl00 ctl00 base_content web_base_content siteSearchQuery: 2373247994, search } Message: FormFetcherImpl::Fetch FormFetcherImpl::state_: 1 Number of pending login managers (after): 1 SSL errors present: false IsPasswordManagementEnabledForCurrentPage: true Server predictions: { Signature of form: 14675362245278660348 Origin: https://www.namecheap.com/ Action: https://www.namecheap.com/ Form fields: ctl00 ctl00 ctl00 ctl00 base_content web_base_content siteSearchQuery: 2373247994, search LoginUserName: 966024577, text LoginPassword: 3285376859, password LoginUserName: 966024577, text, on LoginPassword: 3285376859, password, on email: 1029417091, email, SERVER_PREDICTION: EMAIL_ADDRESS ctl00 ctl00 ctl00 ctl00 base_content web_base_content siteSearchQuery: 2373247994, search } Message: FormFetcherImpl::OnGetPasswordStoreResults Number of results from the password store: 2 Message: PasswordFormManager::ProcessMatches SSL errors present: false IsPasswordManagementEnabledForCurrentPage: true Message: PasswordManager::ShowInitialPasswordAccountSuggestions wait_for_username: false Message: AutofillAgent::OnShowInitialPasswordAccountSuggestions ambiguous_or_empty_names: false Number of potential forms to fill: 0 form_data's wait_for_username: false Message: PasswordAutofillAgent::SendPasswordForms only_visible: true Security origin: https://www.namecheap.com/ Number of all forms: 2 Form found on page: { Action : , Form name or ID : aspnetForm } Form is visible: true Form is a password form: { Action : https://www.namecheap.com/ , New password element : , Origin : https://www.namecheap.com/ , PSL match : false, Password element : LoginPassword , Password generated : false, Scheme : HTML , Signon realm : https://www.namecheap.com/ , Times used : 0, Username element : LoginUserName } Form found on page: { Action : , Form name or ID : } Form is visible: false Some control elements not associated to a form element are visible: false Message: PasswordManager::CreatePendingLoginManagers SSL errors present: false IsPasswordManagementEnabledForCurrentPage: true Number of pending login managers (before): 1 SSL errors present: false IsPasswordManagementEnabledForCurrentPage: true Message: PasswordManager::ShowInitialPasswordAccountSuggestions wait_for_username: false Number of pending login managers (after): 1 Message: PasswordManager::OnPasswordFormsRendered Message: PasswordManager::CanProvisionalManagerSave Message: No provisional save manager Message: AutofillAgent::OnShowInitialPasswordAccountSuggestions ambiguous_or_empty_names: false Number of potential forms to fill: 0 form_data's wait_for_username: false
,
Apr 10 2017
The problem here is that there are 2 pairs of Username/Passwords with the same ids. And here https://cs.chromium.org/chromium/src/components/autofill/content/renderer/password_autofill_agent.cc?q=password_autofill_agent.cc&sq=package:chromium&dr&l=213 such elements are skipped. We can remove this skipping, but it wouldn't help here, since the first password field would be taken as password field, but the second password field is correct.
,
Apr 11 2017
Since M58, password could be filed by click. Username should be filled manually. Block this issue on meta bug 710374 .
,
May 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4afdcc3b649fd9e056ccfe078890c39419e62d08 commit 4afdcc3b649fd9e056ccfe078890c39419e62d08 Author: pkalinnikov <pkalinnikov@chromium.org> Date: Tue May 30 09:51:14 2017 Add username field discovery heuristic. There are some cases when autofill can't find a username field for autocompletion. For example, if the field is created dynamically in JavaScript. This CL introduces a heuristic which is used as a fallback in such cases to find a username field. When password form autocompletion is about to happen with unknown username field, the heuristic searches for the closest visible autocompletable non-password text element preceding the password element. If one found, it is believed to be the username field. BUG= 710374 ,606736, 586465 ,710003 Review-Url: https://codereview.chromium.org/2889393002 Cr-Commit-Position: refs/heads/master@{#475481} [modify] https://crrev.com/4afdcc3b649fd9e056ccfe078890c39419e62d08/chrome/renderer/autofill/password_autofill_agent_browsertest.cc [modify] https://crrev.com/4afdcc3b649fd9e056ccfe078890c39419e62d08/components/autofill/content/renderer/password_autofill_agent.cc [modify] https://crrev.com/4afdcc3b649fd9e056ccfe078890c39419e62d08/components/autofill/content/renderer/password_autofill_agent.h
,
May 30 2017
After https://codereview.chromium.org/2889393002 this issue seems to be solved. The username field gets autofilled together with the password field when the user interacts with the latter.
,
May 30 2017
,
May 30 2017
Reopening the bug, because the implemented fallback fixes only one aspect of the problem. Still, there are 2 possible improvements: 1. autofilling on navigation; 2. showing suggestions popup when the user clicks on the username field.
,
May 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/525e06d30faf3fdbfb85e2b0e1e7c0c1bdc031e5 commit 525e06d30faf3fdbfb85e2b0e1e7c0c1bdc031e5 Author: Pavel Kalinnikov <pkalinnikov@chromium.org> Date: Wed May 31 13:49:43 2017 Add username field discovery heuristic. There are some cases when autofill can't find a username field for autocompletion. For example, if the field is created dynamically in JavaScript. This CL introduces a heuristic which is used as a fallback in such cases to find a username field. When password form autocompletion is about to happen with unknown username field, the heuristic searches for the closest visible autocompletable non-password text element preceding the password element. If one found, it is believed to be the username field. BUG= 710374 ,606736, 586465 ,710003 Review-Url: https://codereview.chromium.org/2889393002 Cr-Original-Commit-Position: refs/heads/master@{#475481} Review-Url: https://codereview.chromium.org/2918543002 . Cr-Commit-Position: refs/branch-heads/3112@{#52} Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897} [modify] https://crrev.com/525e06d30faf3fdbfb85e2b0e1e7c0c1bdc031e5/chrome/renderer/autofill/password_autofill_agent_browsertest.cc [modify] https://crrev.com/525e06d30faf3fdbfb85e2b0e1e7c0c1bdc031e5/components/autofill/content/renderer/password_autofill_agent.cc [modify] https://crrev.com/525e06d30faf3fdbfb85e2b0e1e7c0c1bdc031e5/components/autofill/content/renderer/password_autofill_agent.h
,
Jun 1 2017
Tested this issue on Windows 7, Mac 10.12.4 & Ubuntu 14.04 using chrome#60.0.3112.10 as per steps mentioned in comment#0. Observations: ----------- 1. Username is not auto filled by clicking on username field even after saving username & password 2. Saved password is auto filled upon selecting/ hovering username from the password field. (username - blank & click on password field to select/ hover on username ) Pavel Kalinnikov@ Please find the attached screencast for reference & confirm us on the fix on above observation & expected behavior for the same. Thanks in advance..!!
,
Jun 12 2017
#9 seems to confirm what pkalinnikov@ says: The fix already done is that choosing a pop-up value in the password field also fills the username. The absence of autofill and no filling from the username are as described in #7.
,
Jan 26 2018
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by vabr@chromium.org
, Apr 10 2017