Dismissed login capture doorhanger does not show when username and password fields are edited and each field is in its own Shadow Root
Categories
(Toolkit :: Password Manager, defect, P3)
Tracking
()
People
(Reporter: bdanforth, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Based on the _onPasswordEditedOrGenerated
callback, a dismissed doorhanger should appear when:
- The user edits a password field (This will be fixed by Bug 1638587)
- The user edits a username field, when a matching password field has already been filled (This bug)
(There may be other cases as well that I'm not aware of yet.)
Currently, neither of these cases work when the username and password fields are each in their own shadow root (e.g. https://www.virustotal.com/gui/sign-in from Bug 1634819).
This bug is concerned with fixing this for the second case described above when the username field is edited.
STR:
- Go to https://www.virustotal.com/gui/sign-in
- Enter some value(s) into the password field
- Blur the field.
- If a key icon displays in the URL bar (i.e. if Bug 1638587 is resolved), click the key icon and in the doorhanger, click "Don't Save" to remove the key icon and doorhanger.
- With the password field non-empty, enter some value(s) into the username field
- Blur the field
Actual results:
There is no key icon in the URL bar.
Expected results:
There is a key icon in the URL bar.
This also fails to show the dismissed doorhanger when the username field is edited, then the password field is edited and blurred. This patch should fix both of these cases.
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Comment 1•4 years ago
|
||
Reporter | ||
Comment 2•4 years ago
|
||
Root cause
When the "input"
event fires in this case, getUserNameAndPasswordField
incorrectly returns null
for both the username and password fields, as it relies on _getFormFields
, which relies on _getPasswordFields
, which relies on formLike.elements
, which is wrongly []
(i.e. an empty array) for this Shadow DOM test case.
Reporter | ||
Updated•4 years ago
|
Updated•3 years ago
|
Description
•