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?
On 5/9/24 3:04 PM, Mike Wasserman wrote:
Sure. I'll note that whatwg/fullscreen's PR merging includes a
question or criteria "At least two implementers are interested (and
none opposed)".
I have filed standards position requests with Mozilla and WebKit, and
I will ping fullscreen spec maintainers for input.
On Thu, May 9, 2024 at 11:39 AM Vladimir Levin <vmp...@chromium.org>
wrote:
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
On Thu, May 9, 2024 at 12:20 PM Mike Wasserman <m...@chromium.org>
wrote:
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)
o 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
<https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture>
Specification
https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen
<https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen>
Design docs
https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture
<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;
seehttps://chromestatus.com/feature/5146307550248960
<https://chromestatus.com/feature/5146307550248960>
[3] For multi-screen window placement features;
seehttps://chromestatus.com/feature/5252960583942144
<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
Risks
Interoperability 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
<https://github.com/mozilla/standards-positions/issues/1020>)
WebKit: No signal
(https://github.com/WebKit/standards-positions/issues/345
<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/7>https://github.com/w3c/window-management/issues/98
<https://github.com/w3c/window-management/issues/98>https://github.com/w3c/window-management/issues/92
<https://github.com/w3c/window-management/issues/92>https://crbug.com/315859364
<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
<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
<https://bugs.chromium.org/p/chromium/issues/detail?id=1501130>
Launch bug
https://launch.corp.google.com/launch/4296344
<https://launch.corp.google.com/launch/4296344>
Measurement
Blink.UseCounter.Features:
FullscreenAllowedByContentSetting
https://chromestatus.com/metrics/feature/timeline/popularity/4835
<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
<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
<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
<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
<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
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3b8910e6-5c31-4a00-8638-3d6a2a1632d9n%40chromium.org?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/CAEsbcpXQRXW_Z2LzdQ%3DSTBf2aLydwrD5TT51XR3qrg4zYT8Nig%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpXQRXW_Z2LzdQ%3DSTBf2aLydwrD5TT51XR3qrg4zYT8Nig%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/4ad6893c-ce54-402b-9487-51097a0f3a0a%40chromium.org.