Embedded youtube: after entering/exiting fullscreen, keyboard shortcuts don't work anymore
Categories
(Core :: DOM: Core & HTML, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox112 | --- | wontfix |
firefox113 | --- | wontfix |
firefox114 | --- | wontfix |
firefox115 | --- | wontfix |
People
(Reporter: mozilla, Assigned: emilio, NeedInfo)
References
(Depends on 1 open bug, Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(2 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0
Steps to reproduce:
Tested on 2 different computers in normal mode and in safe/troubleshooting mode, and on a VM with a fresh Fx install, all behave the same:
Play an embedded youtube video, then either A. enter or exit fullscreen (by double click or button in the bottom right corner), or B. enter and exit (with f key).
Actual results:
Keyboard shortcuts (like F, spacebar, left, up) don't work anymore. (Only Esc still works.) Only after clicking the video (this pauses the video; you can leave it paused or click-unpause, this doesn't affect the behaviour) do they work again.
Expected results:
Keyboard shortcuts should still work.
A recent Fx update broke this functionality, up until a few weeks ago this still worked properly.
Tested with some Firefox portables.
v110.0: same bug
v106.0: working properly
Comment 2•2 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Win32' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 3•2 years ago
|
||
(In reply to G from comment #0)
A recent Fx update broke this functionality, up until a few weeks ago this still worked properly.
Could you run mozregression to see exactly when this started happening?
A number of Firefox versions will open in succession to narrow down when this started occurring. Simply answer "good" or "bad" based on whether or not a build reproduces the bug. Once finished, please post the output from the last run. It should give a last good and first bad revision as well as a link to look at the changesets in that range. Thank you!
I ran the thing and think I'm supposed to post this:
"Bug 1740989 - Implement focus fixup rule. r=smaug
This implements the proposal in the linked spec issue, and makes
it nightly-only pending resolution + edits."
Just to be sure, here are the 7 last tests:
https://i.imgur.com/e1rcIWx.png
build 9b193eea 2022-09-01 11:53:05.598000 is still good
build 81580b85 2022-09-01 12:09:07.038000 is bad
Comment 6•2 years ago
|
||
(In reply to G from comment #4)
I ran the thing and think I'm supposed to post this:
Yup, that was it. Flagging as regression and pinging the author. Thanks!
Comment 8•2 years ago
|
||
The following field has been copied from a duplicate bug:
Field | Value | Source |
---|---|---|
Status | NEW | bug 1829890 |
For more information, please visit auto_nag documentation.
Comment 9•2 years ago
|
||
Set release status flags based on info from the regressing bug 1740989
Assignee | ||
Comment 10•2 years ago
|
||
Okay so I dug into this and the issue is that when we enter fullscreen we reframe the top-level <browser>
element. When that happens, there's a moment in time during the reframe where we set the hidden under embedder element flag, and even tho we unset it rather quickly, if we fix up the focus in the meantime we detect the element as not being focusable here.
So I believe we can probably hack around this, but the right fix is bug 1740989 (plus another change that I'll upload here).
Assignee | ||
Comment 11•2 years ago
|
||
If we reframe an OOP iframe, before this patch we send this message to
the content process, and it's not until we reframe that we set the flag
to false again.
Unfortunately, that means that there's a period in time where, if the
other process ticks, it'd find all elements as non-focusable, and we'll
fix up the focus, incorrectly potentially.
We could hack around in the focus code, but this (written on top of the
rebased bug 1750189), which properly detects whether we get reframed,
seems slightly nicer?
Depends on D138732
Updated•2 years ago
|
Assignee | ||
Comment 12•2 years ago
|
||
Feels wrong, so I'd rather not.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Comment 14•2 years ago
|
||
Set release status flags based on info from the regressing bug 1740989
Updated•2 years ago
|
Updated•1 years ago
|
Comment 15•1 years ago
|
||
Emilio, are there plans to land a fix this cycle? Thanks
Updated•1 year ago
|
Reporter | ||
Comment 16•1 year ago
|
||
It's 4 months and 5 versions later, is there any update on this? I encounter this bug nearly daily and it's quite frustrating.
Description
•