m...@chromium.org, fugu...@chromium.org
https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture
https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen
https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture
A new "Automatic Fullscreen" content setting permits Element.requestFullscreen() without a user gesture, and permits browser dialogs to appear without exiting fullscreen.
The setting is blocked by default and sites cannot prompt for permission. New UI controls are limited to Chrome's settings pages [1] and the site info bubble. Users can allow Isolated Web Apps [2], and enterprise admins can allow additional origins with the AutomaticFullscreenAllowedForUrls policy.
Combined with Window Management permission [3] and unblocked popups [4], this unlocks valuable fullscreen capabilities:
- Open a fullscreen popup on another display, from one gesture
- Show fullscreen content on multiple displays from one gesture
- Show fullscreen content on a new display, when it's connected
- Swap fullscreen windows between displays with one gesture
- Show fullscreen content after user gesture expiry or consumption
[1] chrome://settings/content/automaticFullScreen and site details pages
[2] User control is initially scoped to security-sensitive apps; see https://chromestatus.com/feature/5146307550248960
[3] For multi-screen window placement features; see https://chromestatus.com/feature/5252960583942144
[4] To similarly permit window.open() without a user gesture; see chrome://settings/content/popups
Fullscreen, requestFullscreen, transient activation, user gesture, content setting
N/A. This is not proposing a new or changed web API, but a browser-specific permission configuration.
Element.requestFullscreen() may now succeed instead of rejecting without transient activation. The design doc considers some nuanced windowing corner cases. This feature is initially only available to security-sensitive apps and enterprise allow-listed origins.
Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1020)
WebKit: No signal (https://github.com/WebKit/standards-positions/issues/345)
Web developers: Positive. Requested by 1st and 3rd party partners, particularly around VDI: https://github.com/w3c/window-management/issues/7 https://github.com/w3c/window-management/issues/98 https://github.com/w3c/window-management/issues/92 https://crbug.com/315859364
The explainer discusses prospective feature detection support.
Users or admins must grant the new Automatic Fullscreen content setting, plus the Popups & Redirects content setting and the Window Management permission, and to take full advantage of fullscreen windowing features.
This capability exacerbates preexisting fullscreen usable security concerns, so sites cannot show a permission prompt, and user controls are initially scoped to IWA contexts.
None; this feature is not supported on WebView for now
Sites can debug via Element.requestFullscreen()'s promise, which may reject with a TypeError containing a message, the document `fullscreenElement` property, document `fullscreenchange` + `fullscreenerror` events, and devtools console messages. Transient activation state is exposed via navigator.userActivation.isActive. Script can check the window.location.href's scheme for `isolated-app:` to assess initial availability of user control for the current context.
No; Initial support targets desktop platforms.
No; WPT coverage is not yet available, and necessitates test driver controls for this new content setting.
https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture/blob/main/HOWTO.md
chrome://flags/#automatic-fullscreen-content-setting
AutomaticFullscreenContentSetting
True (Chrome settings pages, page info bubble, enterprise policy integration)
https://bugs.chromium.org/p/chromium/issues/detail?id=1501130
https://launch.corp.google.com/launch/4296344
Blink.UseCounter.Features: FullscreenAllowedByContentSetting https://chromestatus.com/metrics/feature/timeline/popularity/4835
Feature is available only in Chromium browsers for the foreseeable future
Feature is used by specific partner(s) to provide functionality within 12 months of launch in Chrome
https://github.com/michaelwasserman/iwa-windowing-example
Shipping on desktop 126
DevTrial on desktop 124
https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture#spec-changes
https://chromestatus.com/feature/6218822004768768
I2P: https://groups.google.com/a/chromium.org/g/blink-dev/c/CuIqA2v3cvs/m/C6J3clNxAAAJ
This intent message was generated by Chrome Platform Status.
Does this change also need to update the referenced spec? In the spec, it seems like if there is no transient activation, it results in an error. I'm trying to understand whether (and how) the spec needs to be updated to reflect the capability proposed in this intent
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpVwU7-73Mux5N-0DwYHNC34d8W5z4Yrfy6Qa_if%3DDxCsQ%40mail.gmail.com.
Ah thanks, I missed it in the explainer. The spec changes make sense to me. The changes don't look like they would be controversial, but it's probably worthwhile to ensure that this PR is under review and/or landing as a part of shipping this.Thanks!Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpVwU7-73Mux5N-0DwYHNC34d8W5z4Yrfy6Qa_if%3DDxCsQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3b8910e6-5c31-4a00-8638-3d6a2a1632d9n%40chromium.org.
It would be nice for the PR to be reviewed and approved, even without other stakeholder support.
Additionally - the explainer mentions a few options for feature detection. Any progress on that front? Or is it just hypothetical?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpXQRXW_Z2LzdQ%3DSTBf2aLydwrD5TT51XR3qrg4zYT8Nig%40mail.gmail.com.
Will the status of the permission be reflected in the Permissions API? I see Permissions Policy integration, but not the Permissions API reflection that I'd expect.Best,Alex
You received this message because you are subscribed to the Google Groups "iwa-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iwa-dev+u...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/iwa-dev/CAEsbcpWxbi-Dwzhr_%3DSYjw%2BWas0qXEtk6ACLV%3DbthJ5RW8GDbw%40mail.gmail.com.
Hi Mike,I think the use cases here are clear and skipping the user activation requirement is the only way to meet them. I believe that the biggest risk here is content written assuming this setting not working without it, and it being hard to understand why. In other words, debuggability and feature detection. Thank you for committing to the Permissions API query integration, that and good error messages addresses this risk.Thanks for also working on the spec for this. If this was a change to default behavior I'd want to await more input, but it's not, and the fact that this feature is only available to specific apps and origins massively reduces the risk that content on the web broadly comes to depend on this and breaks in other browsers.LGTM3On Thu, May 16, 2024 at 5:23 PM Vladimir Levin <vmp...@chromium.org> wrote:LGTM2On Thu, May 16, 2024 at 11:16 AM Mike Taylor <mike...@chromium.org> wrote:LGTM1, with the commitment to follow up on Permissions API integration (thanks!).
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5bdf8737-200a-4d16-a621-e598f3f47740%40chromium.org.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2MfuX1Gkg_DGTFmznD3wGsZZH66zccx78w2s66%3DYcj-Ww%40mail.gmail.com.