Intent to Ship: Remove Prefixed HTMLVideoElement Fullscreen APIs

309 views
Skip to first unread message

Thomas Guilbert

unread,
Nov 4, 2024, 1:20:40 PMNov 4
to blink-dev

Contact emails

tgui...@chromium.org

Explainer

None

Specification

None

Summary

The prefixed HTMLVideoElement-specific fullscreen APIs have been deprecated since approximately M38. They were replaced by the Element.requestFullscreen() API, which first shipped un-prefixed in M71, in 2018. As of 2024, most browsers have had support for the un-prefixed APIs for a few years now. This feature tracks 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(); These methods are now only aliases for the modern API. Their use has declined steadily over the years.


Blink component

Blink>Fullscreen

TAG review

None

TAG review status

Not applicable

Chromium Trial Name

DeprecatePrefixedVideoFullscreen

Origin Trial documentation link

https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API

WebFeature UseCounter name

kPrefixedVideoSupportsFullscreen

Risks



Interoperability and Compatibility

The main risk is that websites that are *only* using this API will be broken. However, the usage of these APIs is low, and the replacement APIs are available and supported across browsers.


Starting in M125, this API was disabled by default. A deprecation trial was conducted, allowing registrants to temporarily re-enable the APIs while they update their websites. No negative feedback surfaced during the deprecation trial. The trial is concluding in M131.


Additionally, an enterprise policy was added to allow enterprise customers who

couldn't register for an OT to transition away from the API. No feedback was

surfaced by enterprise customers either, and the policy will be deprecated and

removed at the same time as these APIs will be permanently removed.


Gecko: N/A Gecko has their own set of prefixed APIs.

WebKit: Closed Without a Position (https://github.com/WebKit/standards-positions/issues/306)

Web developers: No signals

Other signals:

Security

The APIs to be deprecated are aliases for the replacement APIs at this point. Removing them should not exercise new code paths, or open up new attach surfaces.



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

None



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

Yes

Is this feature fully tested by web-platform-tests?

Yes

Tests tracking removal of these prefixes: https://wpt.fyi/results/fullscreen/api/historical.html?label=experimental&label=master&aligned&q=%2Ffullscreen%2Fapi%2Fhistorical.html Test covering the new fullscreen APIs: https://wpt.fyi/results/fullscreen/api?label=master&label=experimental&aligned&q=%2Ffullscreen%2Fapi%2F



Flag name on about://flags

None

Finch feature name

PrefixedVideoFullscreen

Requires code in //chrome?

False

Estimated milestones

Shipping on desktop132
Origin trial desktop first125
Origin trial desktop last131
DevTrial on desktop125
Shipping on Android132
DevTrial on Android125


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5111638103687168?gate=5072706943057920

Links to previous Intent discussions

Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/jrkCYeUSusg


This intent message was generated by Chrome Platform Status.

Yoav Weiss (@Shopify)

unread,
Nov 6, 2024, 10:28:59 AMNov 6
to Thomas Guilbert, blink-dev
On Mon, Nov 4, 2024 at 7:20 PM Thomas Guilbert <tgui...@chromium.org> wrote:

Contact emails

tgui...@chromium.org

Explainer

None

Specification

None

Summary

The prefixed HTMLVideoElement-specific fullscreen APIs have been deprecated since approximately M38. They were replaced by the Element.requestFullscreen() API, which first shipped un-prefixed in M71, in 2018. As of 2024, most browsers have had support for the un-prefixed APIs for a few years now. This feature tracks 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(); These methods are now only aliases for the modern API. Their use has declined steadily over the years.


Blink component

Blink>Fullscreen

TAG review

None

TAG review status

Not applicable

Chromium Trial Name

DeprecatePrefixedVideoFullscreen

Origin Trial documentation link

https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API

WebFeature UseCounter name

kPrefixedVideoSupportsFullscreen

Risks



Interoperability and Compatibility

The main risk is that websites that are *only* using this API will be broken. However, the usage of these APIs is low


Do we have stats on usage?
 

, and the replacement APIs are available and supported across browsers.


Starting in M125, this API was disabled by default. A deprecation trial was conducted, allowing registrants to temporarily re-enable the APIs while they update their websites. No negative feedback surfaced during the deprecation trial. The trial is concluding in M131.


Do you know if all deprecation trial participants successfully unprefixed?
 
--
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoZbdQ3pqjxKSzSHEbMs5y4K6qda-Mnm3hqunUyTx1vx3A%40mail.gmail.com.

Thomas Guilbert

unread,
Nov 6, 2024, 2:42:25 PMNov 6
to Yoav Weiss (@Shopify), blink-dev
Yes. Here's a discussion from the deprecation trial email:

There are 0 records in UMAs usecounters for M126+.

 

, and the replacement APIs are available and supported across browsers.


Starting in M125, this API was disabled by default. A deprecation trial was conducted, allowing registrants to temporarily re-enable the APIs while they update their websites. No negative feedback surfaced during the deprecation trial. The trial is concluding in M131.


Do you know if all deprecation trial participants successfully unprefixed?

I cannot confirm for sure that all of them did. However:
- I have not received any complaints or pushback on the associated bug.
- The number of registrants is very low.
- I confirmed that 1 properly transitioned (or already handled it). 3-4 probably already handled fullscreen properly and didn't use the OT token, but someone registered their origin.
- I would argue that the rest are unverifiable from dubious registrations, unsecure websites, and websites which should not be verified on a corporate network.

Chris Harrelson

unread,
Nov 6, 2024, 2:43:47 PMNov 6
to Thomas Guilbert, Yoav Weiss (@Shopify), blink-dev

Mike Taylor

unread,
Nov 6, 2024, 3:21:07 PMNov 6
to Chris Harrelson, Thomas Guilbert, Yoav Weiss (@Shopify), blink-dev

Vladimir Levin

unread,
Nov 6, 2024, 6:56:19 PMNov 6
to Mike Taylor, Chris Harrelson, Thomas Guilbert, Yoav Weiss (@Shopify), blink-dev
Reply all
Reply to author
Forward
0 new messages