fullscreen
fullscreen copied to clipboard
Proposal: Supporting fullscreen requests in multi-screen environments.
I'd like to raise awareness and request feedback for a couple proposals relevant to this working group. Most relevantly, they explore of use cases for requesting fullscreen on a particular display in multi-screen environments, and for potentially opening new windows in the fullscreen state. Thanks in advance for any issues filed, or other discussion/feedback shared!
Screen Enumeration API This proposal aims to give web developers information about the set of connected physical displays, and considers additional display properties that may be useful beyond the current Screen interface.
Window Placement API The ability to open and move windows across the full set of connected displays is unstandardized and the current behavior is inconsistent between implementers. This proposal aims to give web developers standard means to manage their web content in modern windowing environments.
The Multi-Screen Window Placement spec has evolved significantly, and suggests enhancements for supporting multi-screen devices. I would greatly appreciate feedback and help regarding integrating some of that work in the Fullscreen spec. Here are some pertinent high-level proposals in the spec:
- Extend
FullscreenOptions
with a screen member, to support placing fullscreen content on a specific screen -
Extend
Element.requestFullscreen()
to update a new Window object internal slot that can be used in lieu of transient activation, to support initiating multi-screen experiences
See these inter-related issues filed on CSSOM-View, HTML, and Fullscreen spec repos:
- [cssom-view] Support for multi-screen devices #7642
- Window object support for multi-screen devices #8217
- Proposal: Supporting fullscreen requests in multi-screen environments. #161
I invite anyone to discuss this topic in a tentative W3C TPAC 2022 breakout session. Thank you!
@michaelwasserman can you say a bit more about the [[targetScreenFullscreen]]
slot? Is this about allowing a longer time to pass between use activation and entering fullscreen, or is it needed to make fullscreen on the right screen possible at all?
Sure! It is a transient internal signal set when a site successfully requests fullscreen on a specific screen of a multi-screen device. It can be consumed, in lieu of transient activation, to permit the site to open a "fullscreen companion" popup window on another display. See the explainer, elements of which have been integrated into the spec.