Pressing escape to cancel page behavior also exits full-screen on some sites, e.g., GitHub, Gmail, Google Photos
Categories
(Core :: Widget: Cocoa, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox90 | --- | unaffected |
firefox91 | --- | unaffected |
firefox92 | --- | affected |
People
(Reporter: Mardak, Unassigned)
References
(Regression)
Details
(Keywords: regression)
Bug 1688584 added the ability to exit full screen matching the behavior of Safari, but some websites seem to handle <esc> but sometimes not preventDefault
, so this might just be a site-specific implementation issue?
For example, GitHub and Bugzilla have searchboxes that shows a custom autocomplete. Pressing escape dismisses that UI but also causes Firefox to now exit full-screen. The same happens on Safari, so at least it's consistent.
I've also run into issues on Gmail when pressing escape to close a chat window also now exits full-screen.
Google Photos does seem to preventDefault
if it would have done something such as exiting edit mode to view; photo view to album; single album view to albums view. But if you press escape one more time thinking it would go from albums view to the "home" view, the page doesn't actually handle that and Firefox exits full-screen. Also same issue as GitHub where pressing escape to dismiss the search autocomplete UI results in exiting full-screen.
Comment 1•4 years ago
|
||
I'd argue that if the site did not call preventDefault
on the event, the expectation is that we continue to exit fullscreen. I'm not sure how we'd differentiate between a site handling the event or not when preventDefault
isn't called on it. Emilio, what do you think?
Comment 2•4 years ago
|
||
Yeah, preventDefault
is the way to deal with this. We could add heuristics to deal with the event listeners but that's only prone to all sorts of false positives / negatives. It may be feasible to add a pref to avoid exiting fullscreen if the event was sent to content or something. That'd be more reliable. But unclear if that'd be useful to Mardak / others.
Updated•4 years ago
|
Comment 3•4 years ago
|
||
Set release status flags based on info from the regressing bug 1688584
Comment 4•4 years ago
|
||
Resolving this per comment 2, and to get it off the release tracker.
Reporter | ||
Comment 5•4 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #2)
It may be feasible to add a pref to avoid exiting fullscreen if the event was sent to content or something. That'd be more reliable. But unclear if that'd be useful to Mardak / others.
I've successfully gone a couple days of without accidentally triggering this although it does require some mental energy to make sure I don't hit escape and use some non-escape behavior instead. At least for my usage of full-screen, I'm almost always in macOS' side-by-side Split View where I have two Firefox windows open (on an external monitor), so accidental escape results in a little bit more work to restore the layout (as opposed to simply cmd-shift-f). So probably no need to add complexity for a likely rarely occurring situation.
Updated•4 years ago
|
Description
•