Chrome 99 beta was released on February 3, 2022 and is expected to become the stable version in early March, 2022.
Remove Battery Status API on insecure origins
Battery Status API is no longer supported on insecure origins, such as HTTP pages or HTTPS iframes embedded in HTTP pages. The Battery Status API allows web developers to access, among other things, a system's battery charging level and whether it is being charged. It is a powerful feature that has been around for over a decade and, as such, was originally designed with different security constraints.
Remove font-family -webkit-standard
This version of Chrome
removes support for the font-family
value "-webkit-standard"
.
This value is merely an alias for the proprietary keyword "-webkit-body"
and
is only exposed because it's inherited from WebKit. Removing this improves
alignment with the CSS specifications and with Firefox.
Remove GamepadList
The
navigator.getGamepads()
method now returns an array of
Gamepad
objects
instead of a GamepadList.
GamepadList
is no longer supported in Chrome. This brings Chrome in line with
specification and with Gecko and Webkit. For information on Gamepads generally, see Play the Chrome dino game with your gamepad.
Update WebCodecs to match the specification
Chrome has removed two items because of recent changes in the WebCodecs specification.
The EncodedVideoChunkOutputCallback()
method takes an
EncodedVideoChunkMetadata
dictionary. Previously a member called
temporalLayerId
was located at EncodedVideoChunkMetadata.temporalLayerId
. In
line with the specification, it is now located at
EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId
.
The specification requires that the VideoFrame()
constructor include a timestamp
argument (VideoFrameInit.timestamp
) for CanvasImageSource
types that don't
implicitly have a timestamp (for example, HTMLCanvasElement
). Failing to include the
timestamp should result in a TypeError
, but Chrome previously defaulted the
timestamp to zero. This seems helpful, but is problematic if you then send the
VideoFrame
to a VideoEncoder
, where timestamps are used to guide bitrate
control.
Deprecation policy
To keep the platform healthy, we sometimes remove APIs from the Web Platform which have run their course. There can be many reasons why we would remove an API, such as:
- They are superseded by newer APIs.
- They are updated to reflect changes to specifications to bring alignment and consistency with other browsers.
- They are early experiments that never came to fruition in other browsers and thus can increase the burden of support for web developers.
Some of these changes will have an effect on a very small number of sites. To mitigate issues ahead of time, we try to give developers advanced notice so they can make the required changes to keep their sites running.
Chrome currently has a process for deprecations and removals of API's, essentially:
- Announce on the blink-dev mailing list.
- Set warnings and give time scales in the Chrome DevTools Console when usage is detected on the page.
- Wait, monitor, and then remove the feature as usage drops.
You can find a list of all deprecated features on chromestatus.com using the deprecated filter and removed features by applying the removed filter. We will also try to summarize some of the changes, reasoning, and migration paths in these posts.