Context Menu: have suggest secure password option at the top of the main list
Categories
(Toolkit :: Password Manager, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | unaffected |
firefox71 | --- | unaffected |
firefox72 | --- | unaffected |
firefox73 | --- | wontfix |
firefox74 | --- | fixed |
People
(Reporter: ssage, Assigned: MattN)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [passwords:fill-ui] [passwords:generation])
User Story
Telemetry requests from Sandy to help prioritize bug 1609853: * How often the context menu is opened on a password field? * How often the generation option in the context menu is used?
Attachments
(4 files, 2 obsolete files)
Currently, when the login form does not automatically prompt to generate a secure password, the option is to go to the context menu > fill password > use a securely generated password.
I'd like to make that 'back up' option more accessible/visible to users in all the cases where automatically generating a password doesn't work.
attaching Chrome screenshot for comparison
Comment hidden (obsolete) |
Comment 2•5 years ago
|
||
Existing sub-menu attached for reference.
I wish more people were right-clicking on the password field, but probably not that many are doing it. Still, for those that do, and who don't already have a saved password, it could be easier to paste a generated password.
Sub-menus are cumbersome to navigate, but this one does confirm for the user that there are (No Login Suggestions). Does that not warrant the real estate?
My guess is that Paste is probably the most popular option here, as many keep their passwords outside of Firefox. I don't imagine that making an exception to move the password features above Cut/Copy/Paste just for this context is warranted.
Another issue to consider is that the string Use a Securely Generated Password is too long for many non-English locales like French, Spanish and (nefoedd!) Welsh. I think our truncation limit is 42 characters, and those locales and many others exceed it. Moving a string this big into the top level obscures even more content on the web page beneath.
I would suggest for users without a saved password replace Fill Password section with:
- Use Generated Password
- View Saved Logins
Assignee | ||
Comment 3•5 years ago
|
||
We plan to implement this in Fx73.
Comment hidden (obsolete) |
Comment 5•5 years ago
|
||
Guessing this is out scope for Fx73?
Comment 6•5 years ago
|
||
It depends. I believe we may try and uplift (after talking to Durst last week), depending on QA approval. I'll let MattN weigh with the definitive answer...
Assignee | ||
Comment 7•5 years ago
|
||
I don't think we could uplift it due to string changes.
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 8•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 9•5 years ago
|
||
For now I didn't change tests to not open the submenu when only generating a password as it should be harmless.
Depends on D60640
Assignee | ||
Comment 10•5 years ago
|
||
I realized that the new string "Generate New Password…" is problematic until we implement bug 1569568 so I asked for a new string. Katie provided "Use Generated Password…" which Betsy agreed with.
Comment 11•5 years ago
|
||
Comment 12•5 years ago
|
||
Backed out 2 changesets (Bug 1595915) for browser_contextmenu.js failures
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&fromchange=24f00143c315f36640c0b2dc26924b5dcc44caae&tochange=7ad2b91c02ea26de32c6ff7ae6de69f73e0dcd20&selectedJob=286085508
Backout link: https://hg.mozilla.org/integration/autoland/rev/7ad2b91c02ea26de32c6ff7ae6de69f73e0dcd20
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=286085508&repo=autoland&lineNumber=1295
[task 2020-01-23T02:25:41.805Z] 02:25:41 INFO - TEST-START | browser/base/content/test/contextMenu/browser_contextmenu.js
[task 2020-01-23T02:25:41.880Z] 02:25:41 INFO - GECKO(1730) | Waiting for browser load
[task 2020-01-23T02:25:41.930Z] 02:25:41 INFO - GECKO(1730) | Saw state 30004 and status 0
[task 2020-01-23T02:25:41.930Z] 02:25:41 INFO - GECKO(1730) | Saw state 10001 and status 0
[task 2020-01-23T02:25:41.930Z] 02:25:41 INFO - GECKO(1730) | Saw state 10010 and status 0
[task 2020-01-23T02:25:41.930Z] 02:25:41 INFO - GECKO(1730) | Saw state 10010 and status 0
[task 2020-01-23T02:25:41.930Z] 02:25:41 INFO - GECKO(1730) | Saw state 20010 and status 0
[task 2020-01-23T02:25:41.930Z] 02:25:41 INFO - GECKO(1730) | Saw state c0010 and status 0
[task 2020-01-23T02:25:41.931Z] 02:25:41 INFO - GECKO(1730) | Browser loaded chrome://mochitests/content/browser/browser/base/content/test/contextMenu/subtst_contextmenu_xul.xhtml
[task 2020-01-23T02:25:42.296Z] 02:25:42 INFO - TEST-INFO | started process screencapture
[task 2020-01-23T02:25:42.547Z] 02:25:42 INFO - TEST-INFO | screencapture: exit 0
[task 2020-01-23T02:25:42.547Z] 02:25:42 INFO - Buffered messages logged at 02:25:41
[task 2020-01-23T02:25:42.547Z] 02:25:42 INFO - Entering test bound init
[task 2020-01-23T02:25:42.548Z] 02:25:42 INFO - Leaving test bound init
[task 2020-01-23T02:25:42.548Z] 02:25:42 INFO - Entering test bound test_xul_text_link_label
[task 2020-01-23T02:25:42.548Z] 02:25:42 INFO - Buffered messages logged at 02:25:42
[task 2020-01-23T02:25:42.549Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking if popup is closed -
[task 2020-01-23T02:25:42.549Z] 02:25:42 INFO - Moved focus to #test-xul-text-link-label
[task 2020-01-23T02:25:42.549Z] 02:25:42 INFO - Popup Shown
[task 2020-01-23T02:25:42.549Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking if popup is open -
...
[task 2020-01-23T02:25:42.566Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #1 (context-openlinkinusercontext-menu) enabled state -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #2 () name -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #3 (context-openlink) name -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #3 (context-openlink) enabled state -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #4 (context-openlinkprivate) name -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #4 (context-openlinkprivate) enabled state -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #5 (---) name -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #6 (context-bookmarklink) name -
[task 2020-01-23T02:25:42.569Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #6 (context-bookmarklink) enabled state -
[task 2020-01-23T02:25:42.570Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #7 (context-savelink) name -
[task 2020-01-23T02:25:42.570Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #7 (context-savelink) enabled state -
[task 2020-01-23T02:25:42.570Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #8 (context-savelinktopocket) name -
[task 2020-01-23T02:25:42.570Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #8 (context-savelinktopocket) enabled state -
[task 2020-01-23T02:25:42.570Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #9 (context-copylink) name -
[task 2020-01-23T02:25:42.570Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #9 (context-copylink) enabled state -
[task 2020-01-23T02:25:42.570Z] 02:25:42 INFO - Buffered messages finished
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #10 (context-searchselect) name - Got ---, expected context-searchselect
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - Stack trace:
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenuItem:186
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenu:306
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkContextMenu:176
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:test_contextmenu:455
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/browser_contextmenu.js:test_xul_text_link_label:68
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-01-23T02:25:42.572Z] 02:25:42 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-01-23T02:25:42.573Z] 02:25:42 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #10 (context-searchselect) enabled state - Got null, expected true
[task 2020-01-23T02:25:42.573Z] 02:25:42 INFO - Stack trace:
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenuItem:242
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenu:306
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkContextMenu:176
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:test_contextmenu:455
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/browser_contextmenu.js:test_xul_text_link_label:68
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-01-23T02:25:42.574Z] 02:25:42 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-01-23T02:25:42.575Z] 02:25:42 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #11 (context-searchselect-private) name - Got context-searchselect, expected context-searchselect-private
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - Stack trace:
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenuItem:186
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenu:306
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkContextMenu:176
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:test_contextmenu:455
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/browser_contextmenu.js:test_xul_text_link_label:68
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-01-23T02:25:42.577Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - TEST-PASS | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #11 (context-searchselect-private) enabled state -
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #12 (---) name - Got context-searchselect-private, expected ---
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - Stack trace:
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenuItem:186
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenu:306
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkContextMenu:176
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:test_contextmenu:455
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/browser_contextmenu.js:test_xul_text_link_label:68
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-01-23T02:25:42.578Z] 02:25:42 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-01-23T02:25:42.579Z] 02:25:42 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-01-23T02:25:42.582Z] 02:25:42 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #13 (context-sendlinktodevice) name - Got ---, expected context-sendlinktodevice
[task 2020-01-23T02:25:42.582Z] 02:25:42 INFO - Stack trace:
[task 2020-01-23T02:25:42.582Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-01-23T02:25:42.582Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenuItem:186
[task 2020-01-23T02:25:42.582Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkMenu:306
[task 2020-01-23T02:25:42.582Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:checkContextMenu:176
[task 2020-01-23T02:25:42.582Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/contextmenu_common.js:test_contextmenu:455
[task 2020-01-23T02:25:42.583Z] 02:25:42 INFO - chrome://mochitests/content/browser/browser/base/content/test/contextMenu/browser_contextmenu.js:test_xul_text_link_label:68
[task 2020-01-23T02:25:42.583Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-01-23T02:25:42.583Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-01-23T02:25:42.583Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-01-23T02:25:42.583Z] 02:25:42 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-01-23T02:25:42.583Z] 02:25:42 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-01-23T02:25:42.587Z] 02:25:42 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/contextMenu/browser_contextmenu.js | checking item #13 (context-sendlinktodevice) enabled state - Got null, expected true
[task 2020-01-23T02:25:42.587Z] 02:25:42 INFO - Stack trace:
[task 2020-01-23T02:25:42.587Z] 02:25:42 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
...
Assignee | ||
Comment 13•5 years ago
|
||
Oops, I forgot to update the visibility of the item in nsContextMenu.js since it no longer inherits that from the submenu. Good thing we have other tests for this.
Comment 14•5 years ago
|
||
Comment 15•5 years ago
|
||
Backed out 2 changesets (bug 1595915) for causing browser_contextmenuFillLogins.js perma fails
https://hg.mozilla.org/integration/autoland/rev/a9954a51694fb8f060e0d13b7474730439bf9050
push that caused the backout: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=286097896&searchStr=linux%2Cx64%2Cdebug%2Cmochitests%2Cwith%2Cfission%2Cenabled%2Ctest-linux64%2Fdebug-mochitest-browser-chrome-fis-e10s-4%2Cm-fis%28bc4%29&revision=5675d8e0f9f5a0ecc573486e8f41238c59f23cd8
Assignee | ||
Comment 16•5 years ago
•
|
||
Sam, can you review the changes to nsContextMenu.js? The test failure was because let formOrigin = LoginHelper.getLoginOrigin(documentURI.spec);
is now before an early return
that handled when the fill menu item was disabled so I changed the code to return early (with try…finally
) after the scheme check.
Comment 18•5 years ago
|
||
Comment 19•5 years ago
|
||
Backed out for failing fission bc at browser/browser_context_menu_iframe.js
Push that started the failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=286222373&resultStatus=testfailed%2Cbusted%2Cexception&revision=d844b69b9fbd4ff33bcf58510b236586cc8ddc11
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=286222373&repo=autoland&lineNumber=18103
Backout: https://hg.mozilla.org/integration/autoland/rev/3975d4274afa38c50563f77f7be2f8a02ad7b730
Assignee | ||
Comment 20•5 years ago
|
||
Ugh… I'm pretty sure I ran the tests locally so I'm not sure how this happened. Turns out that the test was wrong though.
Comment 21•5 years ago
|
||
Comment 22•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1bed3d8b28bb
https://hg.mozilla.org/mozilla-central/rev/2b014530b634
Comment 23•5 years ago
|
||
Support article created for this feature: https://support.mozilla.org/en-US/kb/how-generate-secure-password-firefox
Description
•