None
https://fullscreen.spec.whatwg.org/#dom-document-fullscreenenabled
The overall usage of these APIs is low, and has trended downwards over time. Here are the latest usage numbers, as a % of total page loads:readonly attribute boolean webkitSupportsFullscreen;readonly attribute boolean webkitDisplayingFullscreen;void webkitEnterFullscreen();void webkitExitFullscreen();// Note the different capitalization of the "S" in FullScreen.void webkitEnterFullScreen();void webkitExitFullScreen();
PrefixedVideoSupportsFullscreen: 0.025%PrefixedVideoDisplayingFullscreen: 0.082%PrefixedVideoEnterFullscreen: 0.001%PrefixedVideoExitFullscreen: 0.010%PrefixedVideoEnterFullScreen: 0.001%PrefixedVideoExitFullScreen: 0.000%
The primary goal of the deprecation trial is to reduce the amount of broken user-visible experiences as the prefixed fullscreen APIs are removed, and to give time to web authors to transition to the modern API (which has been available for 5 years).
The un-prefixed fullscreen APIs have been available since Chrome M71.
TBD, with a proposed 3 months duration
Blink>Fullscreen
Blink>Media>Video
None
Not applicable
Web Compatibility:
Removing non-standard APIs should overall help web compatibility, and encourage web authors to use the unprefixed APIs. Some experiences might be broken by this change, thus justifying this deprecation trial. The API has been deprecated for a significant amount of time however, and usage has gone down.
This would only be an issue for websites that *only* support the prefixed APIs.
Interoperability:
All browsers have shipped the new APIs, most of them using an unprefixed version (Safari on iOS being the only remaining prefixed-only API). See also https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen#browser_compatibility
Gecko:
WebKit:
Web developers:
Other signals:
Impact on the Ads ecosystem:
N/A
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
Potentially. The deprecation trial should give a heads up and appropriate time for apps to switch over to the unprefixed APIs.
None
N/A
Yes - the prefixed API will be removed across all platforms.
Yes
WPTs testing the prefixes are removed: https://github.com/web-platform-tests/wpt/blob/master/fullscreen/api/historical.html
WPTs testing the new API: https://github.com/web-platform-tests/wpt/tree/master/fullscreen/api
None
PrefixedVideoFullscreen
None
False
None
Contact emails
Explainer
None
Specification
https://fullscreen.spec.whatwg.org/#dom-document-fullscreenenabled
Summary
There was an attempt in 2014 to deprecate and remove the HTMLVideoElement-specific Prefixed Fullscreen APIs. This meant removing the following APIs from HTMLVideoElement:readonly attribute boolean webkitSupportsFullscreen;readonly attribute boolean webkitDisplayingFullscreen;void webkitEnterFullscreen();void webkitExitFullscreen();// Note the different capitalization of the "S" in FullScreen.void webkitEnterFullScreen();void webkitExitFullScreen();
The overall usage of these APIs is low, and has trended downwards over time. Here are the latest usage numbers, as a % of total page loads:PrefixedVideoSupportsFullscreen: 0.025%PrefixedVideoDisplayingFullscreen: 0.082%PrefixedVideoEnterFullscreen: 0.001%PrefixedVideoExitFullscreen: 0.010%PrefixedVideoEnterFullScreen: 0.001%PrefixedVideoExitFullScreen: 0.000%
There has been an unfortunate uptick in the past 2 years for the two following APIs, which means that it's best to remove them now, before they see a wider adoption. These numbers might be going up because the prefixed APIs are also present on iOS.
There is an alternative set of APIs supported by all browsers that web authors can use.The full history of the removal attempt is here: crbug.com/346236
Goals for experimentation
The primary goal of the deprecation trial is to reduce the amount of broken user-visible experiences as the prefixed fullscreen APIs are removed, and to give time to web authors to transition to the modern API (which has been available for 5 years).
The un-prefixed fullscreen APIs have been available since Chrome M71.
Experiment timeline
TBD, with a proposed 3 months duration
Blink component
Blink>Fullscreen
Blink>Media>Video
TAG review
None
TAG review status
Not applicable
Risks
Interoperability and Compatibility
Web Compatibility:
Removing non-standard APIs should overall help web compatibility, and encourage web authors to use the unprefixed APIs. Some experiences might be broken by this change, thus justifying this deprecation trial. The API has been deprecated for a significant amount of time however, and usage has gone down.
This would only be an issue for websites that *only* support the prefixed APIs.
Interoperability:
All browsers have shipped the new APIs, most of them using an unprefixed version (Safari on iOS being the only remaining prefixed-only API). See also https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen#browser_compatibility
--
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/CABrVPoa373%3Dnxuc%2BTe_h9e0WdS53_oAyUEa%2B4j0v2xWgJ2MFcw%40mail.gmail.com.
Good point about the most used APIs being the boolean properties! The APIs are now only aliases for the standard non-prefixed fullscreen APIs (see this code for the current implementation), and therefore aren't much of a burden to maintain.
I opened a WebKit standards position here: https://github.com/WebKit/standards-positions/issues/306I unfortunately do not have access to edit the listed ChromeStatus entry, and the current owner no longer works on Chromium. Should I create a new feature (titled "Deprecation of HTMLVideoElement-specific Prefixed Fullscreen API")? I think the current ChromeStatus entry also covers this API which I am not trying to deprecate in this Intent.
What's a reasonable sample size of HTTP Archive sites to audit? Should this be a complement/precursor to the proposed Deprecation Trial, or would this sampling be enough?
Would you mind requesting reviews for the various gates (privacy,
security, debuggability) for an OT/DT in your chromestatus entry?
--
On Tue, Jan 23, 2024 at 7:55 AM Thomas Guilbert <tgui...@chromium.org> wrote:Good point about the most used APIs being the boolean properties! The APIs are now only aliases for the standard non-prefixed fullscreen APIs (see this code for the current implementation), and therefore aren't much of a burden to maintain.
I opened a WebKit standards position here: https://github.com/WebKit/standards-positions/issues/306I unfortunately do not have access to edit the listed ChromeStatus entry, and the current owner no longer works on Chromium. Should I create a new feature (titled "Deprecation of HTMLVideoElement-specific Prefixed Fullscreen API")? I think the current ChromeStatus entry also covers this API which I am not trying to deprecate in this Intent.Yeah, I think a new feature is a good idea. The old feature seems to be for the addition of the prefixed fullscreen API properties back in Chrome 15, whereas a deprecation/removal has a different set of fields, if I understand correctly.What's a reasonable sample size of HTTP Archive sites to audit? Should this be a complement/precursor to the proposed Deprecation Trial, or would this sampling be enough?I recall +Philip Jägenstedt having done some computations in the past based on what would actually be statistically significant. But, I couldn't find them in this documentation (or the linked document). So, I'll just state that I would be happy with 20 sites.
Wesley from Mux here. I saw the issue come by.We'd be happy those API's could get deprecated and unified into the new one.Our Media Chrome (library, not browser) implementation handles this gracefully, some code here
https://github.com/muxinc/media-chrome/blob/83c1a0f000bc8898971f030bcafa0d6df37cdc34/src/js/controller.js#L636-L636
The Vimeo player uses a variant of https://github.com/bdougherty/BigScreen, a similar popular library is https://github.com/sindresorhus/screenfull
Just thought to mention it but iOS never supported the generic fullscreen API until very recent https://twitter.com/jensimmons/status/1717937227190460797
It always required the webkit prefixed API on the video element (not any other element like a div etc )Y'all are aware of that?
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
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/CABrVPoa373%3Dnxuc%2BTe_h9e0WdS53_oAyUEa%2B4j0v2xWgJ2MFcw%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/b1babe80-69c0-4f5e-b6f8-9d6c1ca20d9an%40chromium.org.
Yep - seems that's the cause of confusion. In your first email, https://chromestatus.com/feature/5259513871466496
is linked from the bottom, so our review tooling is presenting
that to us. But I've just flagged the new one so it will show up
as well.
thanks!
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoZW7%2B11bA89iRbRPBT4%2BEHDtUA0GRaud0zY9NrZwjmMRA%40mail.gmail.com.
LGTM3
The deprecation trial has been underway for ~6months. A small handful of websites have registered for the OT. M131 has branched, and is the last release with the deprecation trial.
Usage numbers have gone to 0 according to UMAs on M126+ (using the usecounters).There is an uptick in calls for some of the APIs according to the Chromestatus use counters:The relative usage has gone up, but the absolute usage remains very small. My hypothesis is: by checking for the presence of these APIs ahead of their removal, websites might be calling the APIs more frequently (when they are still present).
We had originally discussed potentially extending the OT by 6 months. I am not aware of any website being broken, and I have not come across any negative feedback (although I have not contacted the OT registrants yet).My proposal would be to contact the OT registrants, and let them know that M131 is planned be the last release with the OT, and to extend the OT (3 months?) if ever there is pushback.
Does this sound like a reasonable plan?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoamwa6NdB_bEnTXy_Ro1%2Bg7Stq2-8Lr0zv_icMOGEAzvg%40mail.gmail.com.