Contact emails

m...@chromium.org, fugu-...@chromium.org

Explainer

https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture

Specification

https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen

Design docs

https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture

Summary

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

Blink component

Blink>Fullscreen
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EFullscreen>

Search tags

Fullscreen <https://chromestatus.com/features#tags:Fullscreen>,
requestFullscreen <https://chromestatus.com/features#tags:requestFullscreen>,
transient activation
<https://chromestatus.com/features#tags:transient%20activation>, user
gesture <https://chromestatus.com/features#tags:user%20gesture>, content
setting <https://chromestatus.com/features#tags:content%20setting>

TAG review

N/A. This is not proposing a new or changed web API, but a browser-specific
permission configuration.

RisksInteroperability and Compatibility

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

Ergonomics

The explainer discusses prospective feature detection support.

Activation

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.

Security

This capability exacerbates preexisting fullscreen usable security
concerns, so sites cannot show a permission prompt, and user controls are
initially scoped to IWA contexts.

WebView application risks

None; this feature is not supported on WebView for now

Debuggability

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.

Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, ChromeOS, Android, and Android WebView)?

No; Initial support targets desktop platforms.

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?

No; WPT coverage is not yet available, and necessitates test driver
controls for this new content setting.

DevTrial instructions

https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture/blob/main/HOWTO.md

Flag name on chrome://flags

chrome://flags/#automatic-fullscreen-content-setting

Finch feature name

AutomaticFullscreenContentSetting

Requires code in //chrome?

True (Chrome settings pages, page info bubble, enterprise policy
integration)

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1501130

Launch bug

https://launch.corp.google.com/launch/4296344

Measurement

Blink.UseCounter.Features: FullscreenAllowedByContentSetting
https://chromestatus.com/metrics/feature/timeline/popularity/4835

Availability expectation

Feature is available only in Chromium browsers for the foreseeable future

Adoption expectation

Feature is used by specific partner(s) to provide functionality within 12
months of launch in Chrome

Sample links

https://github.com/michaelwasserman/iwa-windowing-example

Estimated milestones

Shipping on desktop 126

DevTrial on desktop 124

Anticipated spec changes

https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture#spec-changes

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/6218822004768768

Links to previous Intent discussions

I2P:
https://groups.google.com/a/chromium.org/g/blink-dev/c/CuIqA2v3cvs/m/C6J3clNxAAAJ

This intent message was generated by Chrome Platform Status
<https://chromestatus.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+unsubscr...@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.

Reply via email to