Published: February 5, 2025
Unless otherwise noted, the following changes 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 134 is beta as of 5 February, 2025. You can download the latest on Google.com for desktop or on Google Play Store on Android.
CSS
This release adds five new CSS and UI features.
CSS dynamic-range-limit property
Enables a page to limit the maximum brightness of HDR content.
Customizable <select>
element
Add the ability to customize HTML <select>
elements, by opting into the new
behavior with the base-select
value of appearance
. After opting in you can
add rich content including images, and also style the options.
Dialog light dismiss
One of the nice features of the Popover API is its light dismiss behavior. This
feature brings the same capability to <dialog>
. A new closedby
attribute
controls behavior:
<dialog closedby=none>
: No user-triggered closing of dialogs at all.<dialog closedby=closerequest>
: PressingESC
(or other close trigger) closes the dialog.<dialog closedby=any>
: Clicking outside the dialog, or pressing ESC, closes the dialog. The same aspopover=auto
behavior.
CSS highlight inheritance
With CSS highlight inheritance, the CSS highlight pseudo-classes, such as
::selection
and ::highlight
, inherit their properties through the pseudo
highlight chain, rather than the element chain. The result is a more intuitive
model for inheritance of properties in highlights.
To learn more, read the blog post Inheritance changes for CSS selection styling written by Stephen Chenney from Igalia.
:has-slotted
pseudo-class
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.
Web APIs
Attribution Reporting Feature: Remove Aggregatable report limit when trigger context ID is non-null
This change is based on API caller feedback and the need for being able to measure a higher number of conversion events for certain user flows.
Currently the API has a limit that allows up to 20 aggregatable reports to be generated per source registration which is restrictive for use cases where a user may have a longer user journey. This change removes the aggregatable report limit when a trigger context ID is provided as part of the registration. The removal of this limit is restricted to only when the trigger context ID is specified, because when it is specified the API applies a higher rate of null reports which helps to protect against cross-site information leaking through report counts.
Additionally, aggregatable reports will still be bound by other limits that restrict the total amount of information that can be measured, such as the L1 contribution budget (65,536) per source and the attribution rate limit.
Blob URL Partitioning: Fetching/Navigation
As a continuation of Storage Partitioning, implements partitioning of Blob URL access by Storage Key (top-level site, frame origin, and the has-cross-site-ancestor boolean), with the exception of top-level navigations which will remain partitioned only by frame origin. This behavior is similar to what's currently implemented by both Firefox and Safari, and aligns Blob URL usage with the partitioning scheme used by other storage APIs as part of Storage Partitioning. In addition, Chrome will enforce noopener on renderer-initiated top-level navigations to Blob URLs where the corresponding site is cross-site to the top-level site performing the navigation. This aligns Chrome with similar behavior in Safari, and the relevant specs have been updated to reflect these changes.
This change can be temporarily reverted by setting the PartitionedBlobURLUsage
policy. The policy will be deprecated when the other storage partitioning
related enterprise policies are deprecated.
Document-Policy: expect-no-linked-resources
The expect-no-linked-resources
configuration point in Document-Policy lets a
document hint to the user agent to better optimize its loading sequence, such as
not using the default speculative parsing behavior (also known as the preload
scanner).
User Agents have implemented speculative parsing of HTML to speculatively fetch resources that are present in the HTML markup, to speed up page loading. For the vast majority of pages on the Web that have resources declared in the HTML markup, the optimization is beneficial and the cost paid in determining such resources is a sound tradeoff. However, the following scenarios might result in a sub-optimal performance tradeoff versus the explicit time spent parsing HTML for determining sub resources to fetch:
- Pages that don't have any resources declared in the HTML.
- Large HTML pages with minimal or no resource loads that could explicitly control preloading resources using other preload mechanisms available.
The expect-no-linked-resources
Document-Policy hints the User Agent that it
may choose to optimize out the time spent in such sub-resource determination.
Explicit resource management (async and sync)
These features address a common pattern in software development regarding the lifetime and management of various resources (for example memory and I/O). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources.
Extend the console.timeStamp
API to support measurements and presentation options
This feature extends the console.timeStamp()
API, in a backwards-compatible
manner, to provide a high-performance method for instrumenting applications and
surfacing timing data to the Performance panel in DevTools.
Timing entries added with the API can have a custom timestamp, duration and presentation options (track, swimlane, and color).
OffscreenCanvas
getContextAttributes
Adds the getContextAttributes
interface from CanvasRenderingContext2D
to
OffscreenCanvasRenderingContext2D
.
Private Aggregation API: per-context contribution limits for Shared Storage callers
Enables Shared Storage callers to customize the number of contributions per Private Aggregation report.
This feature enables Shared Storage callers to configure per-context
contribution limits with a new field, maxContributions
. Callers set this field
to override the default number of contributions per report—larger and smaller
numbers will both be permitted. Chrome will accept values of maxContributions
between 1 and 1000 inclusive; larger values will be interpreted as 1000.
Due to padding, the size of each report's payload will be roughly proportional to the chosen number of contributions per report. We expect that opting into larger reports will increase the cost of operating the Aggregation Service.
Protected Audience callers won't be affected by this feature. However, we are planning to add support for customizing the number of contributions for Protected Audience reports in future features.
Support ImageSmoothingQuality
in PaintCanvas
Add support for the imageSmoothingQuality
attribute on Paint Canvas. It allows
a web developer to choose the quality over performance tradeoff when scaling images.
There are three valid options for imageSmoothingQuality
: low
, medium
and
high
.
WebGPU Subgroups
Adds subgroup functionality to WebGPU. Subgroup operations perform SIMT operations to provide efficient communication and data sharing among groups of invocations. These operations can be used to accelerate applications by reducing memory overheads incurred by inter-invocation communication.
New origin trials
In Chrome 134 you can opt into the following new origin trials.
Digital Credential API
Websites can and do get credentials from mobile wallet apps through a variety of
mechanisms today, for example, custom URL handlers and QR code scanning. This
feature lets sites request identity information from wallets using Android's
IdentityCredential
CredMan
system. It is extensible to support multiple
credential formats (for example, ISO mDoc and W3C verifiable credential) and
allows multiple wallet apps to be used. Mechanisms are being added to help
reduce the risk of ecosystem-scale abuse of real-world identity.
The origin trial starting in Chrome 134 adds support for this API on desktop platform, where Chrome on Desktop will securely communicate with the digital wallet on the Android phone to fetch the requested credentials.
Deprecations and removals
This version of Chrome introduces the deprecations and removals listed below. Visit ChromeStatus.com for lists of planned deprecations, current deprecations and previous removals.
This release of Chrome removes one feature.
Remove nonstandard getUserMedia audio constraints
Blink supports a number of nonstandard goog
-prefixed constraints for
getUserMedia
from some time before constraints were properly standardized.
Usage has gone down significantly to between 0.000001% and 0.0009% (depending on the constraint) and some of them don't even have an effect due to changes in the Chromium audio-capture stack. Soon none of them will have any effect due to other upcoming changes.
We don't expect any major regressions due to this change. Applications using these constraints will continue to work, but will get audio with default settings (as if no constraints were passed). They can opt to migrate to standard constraints.