Closed Bug 1525338 Opened 6 years ago Closed 5 years ago

Control + clicking should not synthesise contextmenu event on Linux

Categories

(Remote Protocol :: Marionette, enhancement, P3)

Version 3
All
Linux
enhancement

Tracking

(firefox70 fixed)

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: ato, Assigned: erahm)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

In https://bugzilla.mozilla.org/show_bug.cgi?id=1421323 we changed
the actions API to synthesise a contextmenu event on macOS and
Linux, but not Windows. I asked as part of the review whether this
applied to Linux, which was confirmed.

But https://github.com/mozilla/geckodriver/issues/1492 and various
comments on the aforementioned bug disagree. The conclusion I draw
from the user feedback is that we should not be firing the contextmenu
event on Linux, but instead have the same behaviour as on Windows,
which is to open a new tab.

Assignee: nobody → ato
Status: NEW → ASSIGNED
Priority: -- → P1

Hi Andreas, I'm one of the people who gave feedback on the original issue and I just want to point out that the original behaviour (for Firefox < 62) was not to open a new tab, but to send ctrl+click to the browser and let it handle it (and yes, ctrl+clicking a link opens a new tab, but our issue was with multiselect on custom elements that was handled in javascript).

Hi asmigala,

(In reply to asmigala from comment #1)

I'm one of the people who gave feedback on the original issue and
I just want to point out that the original behaviour (for Firefox
< 62) was not to open a new tab, but to send ctrl+click to the
browser and let it handle it (and yes, ctrl+clicking a link opens
a new tab, but our issue was with multiselect on custom elements
that was handled in javascript).

Yes, thanks for pointing this out. I actually thought about this
distinction after I had left work yesterday. You are entirely
correct.

To that point, I think our mouse synthesiser indeed will not open
a new tab on Control + click, because it blocks any form of interaction
that would transcend into the browser chrome.

Summary: Control + clicking on a link should not synthesise contextmenu event on Linux → Control + clicking should not synthesise contextmenu event on Linux
Assignee: ato → nobody
Status: ASSIGNED → NEW
Priority: P1 → P3

Oh, interesting.

Just for context: when I made my comment about Linux two years ago, I had tried it out on a Linux VM on a macos host using testing/web-platform/tests/webdriver/tests/perform_actions/support/test_actions_wdspec.html and I did indeed see a contextmenu event with button 2 being fired. I just opened up that same VM now and I still get a contextmenu! So there must be something different going on in that environment compared to what people have been reporting.

Pushed by erahm@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bcc9b5692630
Limit context menu behavior to macOS. r=maja_zf

James, do you think you could give me some pointers on what we're supposed to do here? It looks like I've made a WPT infra test we expect to fail pass now and I'm not sure what the process is for changing the annotation.

Flags: needinfo?(erahm) → needinfo?(james)
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/17921 for changes under testing/web-platform/tests

The metadata file is https://searchfox.org/mozilla-central/source/testing/web-platform/meta/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini I guess it's still failing on mac? So the condition should probably become if os == mac: FAIL. In the specific case of infrastructure tests there's a second metadata file that needs to be updated which we use for upstream CI; that's https://searchfox.org/mozilla-central/source/testing/web-platform/tests/infrastructure/metadata/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini and you should probably change the condition there to if product == "firefox" and os == mac: FAIL

Flags: needinfo?(james)
Pushed by mjzffr@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/899f5fd66315
Limit context menu behavior to macOS. r=maja_zf
Upstream web-platform-tests status checks passed, PR will merge once commit reaches central.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Assignee: nobody → erahm
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: