Chrome 106 Beta: New CSS Features, WebCodecs and WebXR Improvements, and More
Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, ChromeOS, Linux, macOS, and Windows. Learn more about the features listed here through the provided links or from the list on ChromeStatus.com. Chrome 106 is beta as of September 1, 2022. You can download the latest on Google.com for desktop or on Google Play Store on Android.
This version of Chrome supports the origin trials described below. Origin trials allow you to try new features and give feedback on usability, practicality, and effectiveness to the web standards community. To register for any of the origin trials currently supported in Chrome, including the ones described below, visit the Chrome Origin Trials dashboard. To learn more about origin trials in Chrome, visit the Origin Trials Guide for Web Developers. Microsoft Edge runs its own origin trials separate from Chrome. To learn more, see the Microsoft Edge Origin Trials Developer Console.
Anonymous iframes give developers a way to load documents in third-party iframes using new and ephemeral contexts. Anonymous iframes are a generalization of COEP, i.e. Cross-Origin-Embedder-Policy: credentialless to support third-party iframes that may not deploy COEP. As with COEP: credentialless, it replaces the opt-in of cross-origin subresources with avoiding loading of non-public resources. This removes the constraint that third party iframes must support COEP in order to be embedded in a COEP page and unblocks developers looking to adopt cross-origin-isolation.
The origin trial is expected to last through Chrome 108. To sign up for the origin trial, visit its sign up page.
The Pop-Up API lets developers build transient user interface elements to display on top of other web app interface elements. This API is useful for creating interactive elements such as action menus, form element suggestions, content pickers, and teaching user interfaces.
This API uses a new
The origin trial is expected to last through Chrome 110. To sign up for the origin trial, visit its sign up page.
Client Hints are now persisted on Android WebView, creating parity with the rest of the web platform. Previously, WebView did not persist the list of Client Hints a page requests, so the initial load of a website would never include Client Hints. Only subresources on a given page would receive them. This undermined the use of the Client Hints system, which is to empower websites to adapt content to the user agent. For more information on Client Hints, see HTTP Client hints.
In CSS Grid, the
The
The
Chrome now supports the unprefixed hyphenate-character property in addition to the
For more information, see the original proposal's README.
The underlying data source for a
Older implementations will throw a
A
Applications using the WebXR Device API can now access pose-synchronized camera image textures in the contexts that also allow interacting with other AR features provided by WebXR.
This version of Chrome introduces the deprecations and removals listed below. Visit ChromeStatus.com for lists of current deprecations and previous removals.
To align with the latest spec (RFC 6265bis), Chromium now rejects cookies with a
Support for IDN domain attributes in cookies has been long unspecified, with Chromium, Safari, and Firefox all behaving differently. This change standardizes Firefox's behavior of rejecting cookies with non-ASCII domain attributes.
Chrome has removed the ability to receive, keep in memory, and use HTTP/2 push streams sent by the server. See Removing HTTP/2 Server Push from Chrome for details and suggested alternative APIs.
Origin Trials
Anonymous iframes
Pop-Up API
popup content attribute to enable any element to be displayed in the top layer. This attribute's effect on the pop-up is similar to that of the
<dialog> element, but has several important differences, including light-dismiss behavior, pop-up interaction management, animation, event support, and non-modal mode.
Other Features in this Release
Client Hints persistency in Android WebView
CSS
grid-template properties interpolation
'grid-template-columns' and
'grid-template-rows' properties allow developers to define line names and track sizing of grid columns and rows respectively. Supporting interpolation for these properties allows grid layouts to smoothly transition between states, instead of snapping at the halfway point of an animation or transition.
'ic' length unit
'ic' length unit expresses CSS lengths relative to the advanced measure of the water ideograph used in some Asian fonts such as Chinese and Japanese. This allows authors to size elements to fit a given number of full width glyphs for such fonts. Gecko and WebKit already support this unit. Adding this to Chrome is part of Interop 2022.
‘preserve-parent-color' value for the ‘forced-color-adjust' CSS property.
'preserve-parent-color' value has been added to the
'forced-color-adjust' CSS property. Previously, when the forced colors mode was enabled, the
'color' property was inherited. Now, when the
'preserve-parent-color' value is used, the
'color' property will use the value of its parent. Otherwise, the
'forced-color-adjust: preserve-parent-color' value behaves the same as
'forced-color-adjust: none'.
Unprefix -webkit-hyphenate-character property
-webkit-hyphenate-character property. The
-webkit-hyphenate-character property will be deprecated at a later date.
JavaScript: Intl.NumberFormat v3 API
Intl.NumberFormat has the following new features:
formatRange(),
formatRangeToParts(), and
selectRange()
SerialPort BYOB reader support
ReadableStream provided by a
SerialPort is now a readable byte stream. SerialPort "bring your own buffer" (BYOB) is backwards-compatible with existing code that calls
port.readable.getReader() with no parameters. To detect support for this feature, pass
'byob' as the mode parameter when calling
getReader(). For example:
port.readable.getReader({ mode: 'byob' });
TypeError when the new parameter is passed.
BYOB readers allow developers to specify the buffer into which data is read instead of the stream allocating a new buffer for each chunk. In addition to potentially reducing memory pressure, this allows the developer to control how much data is received because the stream cannot return more than there is space for in the provided buffer. For more information, see Read from and write to a serial port.
WebCodecs dequeue event
dequeue event and associated callback have been added to the audio and video interfaces, specifically:
AudioDecoder,
AudioEncoder,
VideoDecoder, and
VideoEncoder.
Developers may initially queue encoding or decoding work by calling encode() or
decode() respectively. The new
dequeue event is fired to indicate when the underlying codec has ingested some or all of the queued work. The decrease in the queue size is already reflected by a lower value of
encoder.encodeQueueSize and
decoder.decodeQueueSize attributes. The new event eliminates the need to call
setTimeout() to determine when the queue has decreased (in other words, when they should queue more work).
WebXR Raw Camera Access
Deprecations, and Removals
Remove non-ASCII characters in cookie domain attributes
Domain attribute that contains non-ASCII characters (for example,
éxample.com).
Since Chromium has previously accepted non-ASCII characters and tried to convert them to normalized punycode for storage, we will now apply stricter rules and require valid ASCII (punycode if applicable) domain attributes.
Remove HTTP/2 push