Closed Bug 1594608 Opened 11 months ago Closed 10 months ago

[Fission] Context menu for OOP iframes cannot be accessed from the keyboard

Categories

(Core :: DOM: Core & HTML, defect, P3)

defect

Tracking

()

VERIFIED FIXED
mozilla72
Fission Milestone M5
Tracking Status
firefox72 --- verified
firefox73 --- verified
firefox74 --- verified

People

(Reporter: Jamie, Assigned: Jamie)

References

(Blocks 1 open bug)

Details

(Keywords: access)

Attachments

(1 file)

This is only relevant on Windows and Linux, since you can't open a context menu via the keyboard on Mac.

STR (with Fission enabled):

  1. Open this:
    data:text/html,foo<iframe src="https://google.com/notfound">
  2. Tab to the Google link.
  3. Press shift+f10.
    • Expected: The context menu should include "Copy Link Location" and "This Frame".
    • Actual: It doesn't.

If you right click the link with the mouse, this works as expected. With Fission disabled, doing this from the keyboard (as above) also works as expected.

This is pretty severe from an accessibility perspective.

Priority: -- → P3
See Also: → 1505909

Tentatively moving all bugs whose summaries mention "Fission" (or other Fission-related keywords) but are not assigned to a Fission Milestone to the "?" triage milestone.

This will generate a lot of bugmail, so you can filter your bugmail for the following UUID and delete them en masse:

0ee3c76a-bc79-4eb2-8d12-05dc0b68e732

Fission Milestone: --- → ?

This is because the actual contextmenu event doesn't seem to fire and/or make it to context menu child actor in the correct process - we only see the event in the actor for the parent frame. So this is either a DOM bug or a JSWindowActor bug, so moving over to Core.

Component: Menus → DOM: Core & HTML
Priority: P3 → --
Product: Firefox → Core

Even though context menu key events are caused by a key press, they get handled as mouse events.
Because the parent process FocusManager only knows about top level remote browsers, the event can only be targeted to a top level remote browser, even if the focus is actually in an OOP iframe.
To fix this, when dispatching cross-process events, handle context menu key events the same way we handle normal keyboard events; i.e. use the focused remote browser.

Assignee: nobody → jteh

Simple test case:
data:text/html,<a href="https://mozilla.org/">Mozilla</a><iframe src="https://google.com/notfound">

Priority: -- → P3
Pushed by jteh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/beee726e70e2
Use the focused remote browser for context menu key events. r=hsivonen
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
Flags: qe-verify+

Fixed in 72

Fission Milestone: ? → M5

Reproduced with Firefox 72.0a1 (20191106215426) on Windows 10x64 using STR from comment 0.
The issue is verified fixed with Firefox 72.0a1 (20191122214053) and Firefox 74.0a1 (20200109213942) on Windows 10x64 and Ubuntu 16.04 while having fission.autostart on true.

Status: RESOLVED → VERIFIED
Flags: qe-verify+

Since it has been verified for nightly and release, is it verified for beta too?
For more information, please visit auto_nag documentation.

This is verified in 73.0a1 (20200106092427) as well. With a note that fission.autostart is only enabled on Nightly builds for now.

You need to log in before you can comment on or make changes to this bug.