Closed Bug 1533716 Opened 11 months ago Closed 10 months ago

Make out-of-process iframes able to request focus

Categories

(Core :: DOM: Content Processes, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: hsivonen, Assigned: hsivonen)

References

Details

(Whiteboard: [fission-event-m1])

Attachments

(1 file)

When bug 1524977 landed, it was possible to move focus into an out-of-process iframe by tabbing such that it was possible to see the out-of-process iframe draw its top-level focus ring in response to tabbing into it.

In the past few days this broke somehow. The out-of-process iframe runs the focusing code to set its focused element in response to RecvNavigateByKey() and calls TabChild::SendRequestFocus() afterwards. Then focus stays in the iframe parent Web content without whatever was focused there losing focus and without the out-of-process iframe drawing its top-level focus ring.

nika, rhunt, can you think of what might have broken this?

Flags: needinfo?(rhunt)
Flags: needinfo?(nika)

I haven't landed anything fission related in a while, so nothing stands out on my end.

Flags: needinfo?(rhunt)

Sadly, due to last week's bindgen issues, it looks like the toolchain from the end of last week isn't compatible with the code from the start of last week, so it's not really practical to bisect this.

Current hypothesis of cause:
TabParent::mFrameElement for out-of-process iframes gets set to the XUL frame instead of the HTML iframe.

(In reply to Henri Sivonen (:hsivonen) from comment #4)

Current hypothesis of cause:
TabParent::mFrameElement for out-of-process iframes gets set to the XUL frame instead of the HTML iframe.

And of course it is, because the iframe element isn't in the process that the TabParent is in. Looks like RequestFocus needs to bounce back down via BrowserBridge.

I have a patch for this.

Flags: needinfo?(nika)
Blocks: 1519408
Depends on: 1534267
Summary: Out-of-process iframes no longer successfully take focus in response to tabbing → Make out-of-process iframes able to request focus
Assignee: nobody → hsivonen
Status: NEW → ASSIGNED
Pushed by hsivonen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1a69c88b8863
Make out-of-process iframes able to request focus. r=masayuki,NeilDeakin
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.