chrome 131 · released
chrome 131 platform demos
38 features tracked for Chrome 131. Click a feature's title to open its demo; each card also links to its ChromeStatus entry.
Per-feature demos below are built automatically, one feature per commit, and every distinct use case should become an interactive concept page.
features (38)
Shipped (21)
-
@page margin boxes
Add support for page margin boxes, when printing a web document, or exporting it as PDF. @page margin boxes allows an author to define the contents in the margin area of a page, for instance to provide custom headers an...
-
@property support <string> syntax
Support for "<string>" syntax component name for registered custom properties.
-
Attribution-Reporting API: Remove aggregation key identifier size limit for trigger registrations
Currently the aggregation key identifier length limit (https://wicg.github.io/attribution-reporting-api/#max-length-per-aggregation-key-identifier) is checked in both source and trigger registrations. As this limit is...
-
CSS Anchor Positioning: anchor-scope
The anchor-scope property allows limiting the visibility of anchor names to a given subtree.
-
CSS font-variant-emoji
Font-variant-emoji CSS property provides users an easy way to control between colored (emoji-style) and monochromatic (text-style) emoji glyphs presentations. This can be also done by adding an emoji Variation Selector, ...
-
Capture all screens
Capture all the screens currently connected to the device using getAllScreensMedia(). Calling getDisplayMedia() multiple times requires multiple user gestures, burdens the user with choosing the next screen each time, a...
-
Direct Sockets API
Allows Isolated Web Apps to establish direct transmission control protocol (TCP) and user datagram protocol (UDP) communications with network devices and systems as well as listen to and accept incoming connections.
-
Document picture-in-picture: copy document mode
This makes the document picture-in-picture Document's mode (quirks mode vs no-quirks-mode) match the mode of the opener Document. Currently, the empty document is quirks mode by default, so this allows websites that rely...
-
Exempt Speculation-Rules Header from CSP restrictions
This is somewhat of a bug-fix, but it's a web-exposed bug fix which deserves full web platform security review, so we're using the Intent to Ship process. When we initially shipped the Speculation-Rules header, we reuse...
-
FedCM as a trust signal for the Storage Access API
Reconciles the FedCM and Storage Access APIs by making a prior FedCM grant a valid reason to automatically approve a storage access request. When a user grants permission for using their identity with a 3rd party Identi...
-
Improvements to styling structure of <details> and <summary> elements
Support more CSS styling for the structure of <details> and <summary> elements to allow these elements to be used in more cases where disclosure widgets or accordion widgets are built on the web. In particular, this cha...
-
Private Aggregation API: increase contribution limit to 100 for Protected Audience callers
Enables Protected Audience script runners to make up to 100 contributions per Private Aggregation report, compared to the current limit of 20. Private Aggregation limits the number of histogram contributions that can be...
-
Support currentcolor in Relative Color Syntax
Allow relative colors in CSS (using the 'from' keyword) to use 'currentcolor' as a base. This will make it easy for web developers to set complementary colors, based on an element's text color, for that element's borders...
-
Support external SVG resources for 'clip-path', 'fill', 'stroke' and 'marker-*' properties
Allow external references for clip paths, markers, and paint servers (for the 'fill' and 'stroke' properties). For example, clip-path: url("resources.svg#myPath").
-
WebGPU: Clip Distances
Adds the optional GPU feature "clip-distances" that allows setting user-defined clip distances in vertex shader outputs. This technique is particularly useful for the applications that need to clip all vertices in a scen...
-
WebGPU: GPUCanvasContext getConfiguration()
Functionality added to the WebGPU spec after its first shipment in a browser. Once GPUCanvasContext configure() has been called with a configuration dictionary, the GPUCanvasContext getConfiguration() method lets dev...
-
WebHID on Dedicated Workers
WebHID is enabled inside dedicated worker contexts. This allows developers to perform heavy I/O and processing of data from a HID device on a separate thread to reduce the performance impact on the main thread.
-
WebXr hand input module - Level 1
Exposes hand joint data on XrInputSources for use during a WebXr session. This allows developers to have more fine grained interactions during WebXr sessions.
-
[WebRTC] RTCRtpEncodingParameters.scaleResolutionDownTo
An API that configures WebRTC encoders to scale input frames if they are greater than the specified maxWidth and maxHeight. This API is similar to scaleResolutionDownBy except that resolution constraints are expressed in...
-
noopener-allow-popups COOP value
Some origins can contain different applications with different levels of security requirements. In those cases, it can be beneficial to prevent scripts running in one application from being able to open and script pages ...
-
text-size-adjust improvements
text-size-adjust adjusts font sizes on mobile devices. Values other than auto disable automatic text size adjustments. Percentage values increase the computed size of text. This makes text-size-adjust more consistent,...
Removed (2)
-
Deprecation of CSS Anchor Positioning property `inset-area`
The CSSWG resolved to rename the `inset-area` property to `position-area`. See the CSSWG discussion here: https://github.com/w3c/csswg-drafts/issues/10209#issuecomment-2221005001. The new property name, `position-area`, ...
-
Remove non-standard GPUAdapter requestAdapterInfo() method
The WebGPU WG decided it was impractical for requestAdapterInfo() to trigger a permission prompt so they’ve removed that option and replaced it with the GPUAdapter info attribute so that web developers can get the same G...
Stepped rollout (1)
-
X25519Kyber768 key encapsulation for TLS
Chrome 124 enabled by default on all desktop platforms a new post-quantum secure TLS key encapsulation mechanism [X25519Kyber768](https://developer.chrome.com/blog/chrome-124-beta#x25519kyber768_key_encapsulation_for_tls...
Origin Trial (6)
-
Deprecate getters of Intl Locale Info
Intl Locale Info API is a Stage 3 ECMAScript TC39 proposal to enhance the Intl.Locale object by exposing Locale information, such as week data (first day in a week, weekend start day, weekend end day, minimun day in the ...
-
Optional browser optimization for Service Workers
Chrome 154 includes an optional browser optimization mode that changes existing service worker behavior. In ServiceWorkerAutoPreload mode, the browser issues the network request in parallel with the service worker bootst...
-
Playback Statistics API for WebAudio
This feature adds an AudioContext.playbackStats attribute which returns an AudioPlaybackStats object. This object provides audio playback statistics such as average latency, minimum/maximum latency, underrun duration, an...
-
ServiceWorkerStaticRouterTimingInfo
Adds timing information for ServiceWorker Static routing API, exposed in navigation timing API and resource timing API for developer use. Service Worker provides timing information to mark certain points in time. We a...
-
Summarizer API
Summarizer API is a JavaScript API for producing summaries of input text, backed by an AI language model. Browsers and operating systems are increasingly expected to gain access to a language model. By exposing this buil...
-
Translator API
A JavaScript API to provide language translation capabilities to web pages. Browsers are increasingly offering language translation to their users. Such translation capabilities can also be useful to web developers. This...
Dev Trial (8)
-
:has-slotted pseudo selector
The :has-slotted pseudo class represents a slot element with slotted content, such as a text node or element. This can be used to style elements based on whether or not they are using slot fallback content.
-
CSS Anchor Positioning: allow anchor-size() in inset and margin Properties
Allow anchor-size() values for inset and margin properties. Originally, anchor-size() was only allowed in sizing properties. The specification was changed to allow anchor-size() in insets and margins as well.
-
Deprecate getters of Intl Locale Info
Intl Locale Info API is a Stage 3 ECMAScript TC39 proposal to enhance the Intl.Locale object by exposing Locale information, such as week data (first day in a week, weekend start day, weekend end day, minimun day in the ...
-
Dialog Toggle Events
It is useful for web authors do determine when their <dialog> elements open and close. popover already has `ToggleEvent` which is dispatched when a popover opens or closes, but <dialog> does not. The current way to detec...
-
Explicit resource management (async)
This feature addresses a common pattern in software development regarding the lifetime and management of various resources (memory, I/O, etc.). This pattern generally includes the allocation of a resource and the ability...
-
Explicit resource management (sync)
This feature addresses a common pattern in software development regarding the lifetime and management of various resources (memory, I/O, etc.). This pattern generally includes the allocation of a resource and the ability...
-
Nested pseudo elements styling
Allows to style pseudo elements that are nested inside other pseudo elements. So far, support is defined for: ::before::marker ::after::marker With ::column::scroll-marker being supported in the future.
-
Web Authentication API: PublicKeyCredential’s getClientCapabilities() method
getClientCapabilities() method allows to determine which WebAuthn features are supported by the user's client. The method returns a list of supported capabilities, allowing developers to tailor authentication experiences...