Closed Bug 1583042 Opened 5 years ago Closed 5 years ago

Shortcut Conflict for Ctrl+Shift+L

Categories

(DevTools :: Debugger, defect, P2)

71 Branch
defect

Tracking

(firefox-esr60 unaffected, firefox-esr68 unaffected, firefox67 unaffected, firefox68 unaffected, firefox69 unaffected, firefox70 unaffected, firefox71 fixed)

RESOLVED FIXED
Firefox 71
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox67 --- unaffected
firefox68 --- unaffected
firefox69 --- unaffected
firefox70 --- unaffected
firefox71 --- fixed

People

(Reporter: bugzilla, Assigned: davidwalsh)

References

(Blocks 1 open bug, Regressed 1 open bug, Regression)

Details

(Keywords: dev-doc-complete, regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0

Steps to reproduce:

I am a user of Bitwarden. Bitwarden is an open source password manager and a recommended extension (by Mozilla). It is also the second highest rated extension at addons.mozilla.org.

Bitwarden by default uses the shortcut Ctrl+Shift+L to fill username and password into login forms. As of recently, the same shortcut seems to be used for the Debugger (not yet on stable though). This leaves a conflict.

Actual results:

If you open the browser and use Bitwarden (= log in to Bitwarden) first, then the shortcut works as expected.

If you open the browser, use the shortcut before using Bitwarden (e.g. because you forgot to login to Bitwarden first) it opens the "Debugger" console. Even after you logged into Bitwarden, the shortcut now opens the Debugger. The only remedy is to restart Firefox. It is not transparent to the user why the shortcut behaves differently, especially if the user is not willing to test out when it misbehaves.

Expected results:

Users should expect a shortcut to always behave the same. Ctrl-Shift-L is a new shortcut for the Debugger that does not yet work in stable. Therefore I feel changes may be possible.

a) The Debugger shortcut could be placed on another key combination. As Bitwarden not only aligns with goals of privacy, security and free software but also is recommended by Mozilla itself this may warrant some kind of "special treatment" i.e. not breaking it's functionality for users.

b) It woud be possible to leave the Debugger on Ctrl-Shift-L but let the shortcut be superseded by any extension that also uses the shortcut. This would mean that as long as Bitwarden is installed, Ctrl-Shift-L would be reserved for the extension and not for the Debugger.

c) The worst outcome would be to leave it as is: The conflicting shortcuts would have to be resolved by the users and/or Bitwarden. While it is possible for an informed user to change extension shortcuts, this would break the users experience and need huge communication efforts.

d) In any case the resolution to the shortcut conflict (= both Debugger and Extension use the shortcut) is confusing at best. For the user it seems like a functionality randomly stops working. This argument is independent from Bitwarden. If appropriate I can open a new bug for this.

Sorry to add to this, after further testing it seems like sometimes the Debugger Shortcut overwrites the Extension shortcut either way. My guess that it was determined by whether one logged in to the extension seems wrong. It now seems totally random, which function the shortcut is going to have. But it's always the same function for the entire session.

Hey neubland,

I was able to reproduce this as well in the Nightly version 71.0a1 (2019-09-25).
The shortcut seems to be a new introduction only in Nighly build for devtools, marking 69 and 70 disabled due to this.

I will set a component for this issue so that the dev team can get involved.

Thanks for the report.

Status: UNCONFIRMED → NEW
Component: Untriaged → Debugger
Ever confirmed: true
Product: Firefox → DevTools
Keywords: regression
Regressed by: 1532139
Pushed by dwalsh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7bcfcf9c5a8a
Change devtools debugger shortcut r=Harald

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=271525042&resultStatus=pending%2Crunning%2Ctestfailed%2Cbusted%2Cexception&revision=7bcfcf9c5a8a24ddcd610e82a493020c56b0200e&searchStr=os%2Cx%2C10.14%2Cdebug%2Cmochitests%2Ctest-macosx1014-64%2Fdebug-mochitest-browser-chrome-e10s-12%2Cm%28bc12%29

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=271525042&repo=autoland&lineNumber=6128

Backout link: https://hg.mozilla.org/integration/autoland/rev/448734fab30e8dc1fcc2734c76d6a0339f6de26a

[task 2019-10-16T16:02:50.491Z] 16:02:50 INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_commands_onCommand.js | Expected onCommand listener to fire with the correct name: toggle-ctrl-period -
[task 2019-10-16T16:02:50.491Z] 16:02:50 INFO - Buffered messages logged at 16:01:23
[task 2019-10-16T16:02:50.491Z] 16:02:50 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2019-10-16T16:02:50.491Z] 16:02:50 INFO - Buffered messages finished
[task 2019-10-16T16:02:50.491Z] 16:02:50 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/browser_ext_commands_onCommand.js | Test timed out -
[task 2019-10-16T16:02:50.491Z] 16:02:50 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/browser_ext_commands_onCommand.js | no tasks awaiting on messages - Got ["oncommand"], expected []
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - Stack trace:
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:test_is:1312
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - chrome://mochikit/content/tests/SimpleTest/ExtensionTestUtils.js:ExtensionTestUtils.loadExtension/<:31
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:nextTest:577
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:timeoutFn:1188
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - setTimeout handlerchrome://mochikit/content/browser-test.js:Tester_execTest:1135
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:930
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:805
[task 2019-10-16T16:02:50.492Z] 16:02:50 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/browser_ext_commands_onCommand.js | Extension left running at test shutdown -
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - Stack trace:
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:test_ok:1297
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - chrome://mochikit/content/tests/SimpleTest/ExtensionTestUtils.js:ExtensionTestUtils.loadExtension/<:109
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:nextTest:577
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:timeoutFn:1188
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - setTimeout handler
chrome://mochikit/content/browser-test.js:Tester_execTest:1135
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:930
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:805
[task 2019-10-16T16:02:50.493Z] 16:02:50 INFO - GECKO(1650) | MEMORY STAT | vsize 8254MB | residentFast 784MB | heapAllocated 247MB
[task 2019-10-16T16:02:50.496Z] 16:02:50 INFO - TEST-OK | browser/components/extensions/test/browser/browser_ext_commands_onCommand.js | took 90200ms

Flags: needinfo?(dwalsh)
Pushed by dwalsh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/48816580680d
Change devtools debugger shortcut r=Harald
Pushed by dwalsh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/abe56cdae49d
Change devtools debugger shortcut r=Harald
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 71
Assignee: nobody → dwalsh
Flags: needinfo?(dwalsh)

Janet, could you please update those in the keyboard page and in related debugger pages?

Flags: needinfo?(jswisher)
Keywords: dev-doc-needed

Will do. Not going to worry about screenshots and videos that show the old shortcut in menus.

This is done, so setting to DDC.

Flags: needinfo?(jswisher)
Regressions: 1608383
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: