Native fullscreen not used for picture-in-picture fullscreen
Categories
(Core :: Widget: Cocoa, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox125 | --- | verified |
People
(Reporter: mstange, Assigned: bradwerth)
References
(Regressed 1 open bug)
Details
Attachments
(1 file)
Steps to reproduce:
- Go to https://www.youtube.com/watch?v=ypyAg3Zbs_8 and play the video.
- Move your mouse over video so that the Picture-in-picture icon appears along the video's right edge.
- Click the Picture-in-picture icon.
- In the floating panel that appears, click the full screen button (or double click inside the panel).
Expected results:
The floating panel should enter native fullscreen on macOS.
Actual results:
The fullscreen panel remains on the same desktop and hides the dock on all monitors.
Assignee | ||
Updated•1 years ago
|
Assignee | ||
Comment 2•1 years ago
|
||
Here is the relevant check that forces emulated fullscreen in this case. Because the NSWindowCollectionBehaviorFullScreenPrimary
bit is not set in mWindow.collectionBehavior
, emulated fullscreen is forced. I'll see if what I can figure out what that is protecting and if it's important enough to keep.
Assignee | ||
Comment 3•1 years ago
|
||
I've built a proof of concept local patch that forces non pop-pup native windows to have the NSWindowCollectionBehaviorFullScreenPrimary
collectionBehavior
, but it's a bigger change than it needs to be. It would be sufficient to have the picture-in-picture window have the macnativefullscreen
attribute, as browser.xhtml does. I just need to find how attributes are assigned to the PnP window.
Assignee | ||
Comment 4•1 years ago
|
||
This makes it possible, but not forced, for PnP windows to enter macOS
native fullscreen. This changes make the decision of whether to use
native or "emulated" fullscreen dependent on the setting of the
full-screen-api.macos-native-full-screen
pref, same as top-level
windows. This is both more consistent and a bit strange in that it is
possible to take something like a YouTube page to fullscreen mode, then
to open a PnP window (which will appear in the desktop space) and then
take that PnP window to fullscreen into another fullscreen space.
Although this unusual to have multiple fullscreen spaces for the same
application, it is consistent with the macOS fullscreen experience. If
we don't want this behavior, we just need to decide what other kind of
behavior we'd prefer in this circumstance, such as:
- Make the PnP fullscreen replace the existing fullscreen window
space, effectively hiding the original window. - Make the PnP window close instead of going to fullscreen.
- Remove the fullscreen option from the PnP player if the source window
is already in fullscreen.
Whether we want any of these changes or none of these changes, the
change in this patch is more correct when the pref
full-screen-api.macos-native-full-screen
is set to true, since we
don't want to have a mix of native and emulated fullscreen behaviors.
Comment 6•1 years ago
|
||
bugherder |
Updated•1 year ago
|
Reproduced the issue with Firefox 125.0a1 (2024-02-15) on macOS 14 and macOS 12. The fullscreen panel remains on the same desktop when opened from PiP.
The issue is verified fixed with Firefox 125.0b5 on macOS 12 and macOS 14. Native fullscreen is opened when entering fullscreen from PiP. However, there is sometimes a screen flash when entering fullscreen from PiP. I filled in bug 1888656 for this.
Description
•