Yes, there's a draft PR <https://github.com/whatwg/fullscreen/pull/235> with the Explainer's anticipated spec changes <https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture#spec-changes>, which are designed <https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture?tab=readme-ov-file#detailed-design-discussion> alike The rules for choosing a navigable <https://html.spec.whatwg.org/multipage/document-sequences.html#the-rules-for-choosing-a-navigable> when a new top-level traversable <https://html.spec.whatwg.org/multipage/document-sequences.html#top-level-traversable> is being requested, as invoked by Window.open() <https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-open-dev>:
- If currentNavigable's active window <https://html.spec.whatwg.org/multipage/document-sequences.html#nav-window> does not have transient activation <https://html.spec.whatwg.org/multipage/interaction.html#transient-activation> and the user agent has been configured to not show popups (i.e., the user agent has a "popup blocker" enabled) - The user agent may inform the user that a popup has been blocked. On Thursday, May 9, 2024 at 7:30:09 AM UTC-7 Vladimir Levin wrote: > On Wed, May 8, 2024 at 7:46 PM Mike Wasserman <m...@chromium.org> wrote: > >> 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. >> > > 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 > > >> 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 >> >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpVwU7-73Mux5N-0DwYHNC34d8W5z4Yrfy6Qa_if%3DDxCsQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- 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/3b8910e6-5c31-4a00-8638-3d6a2a1632d9n%40chromium.org.