chrome 133 · released

chrome 133 platform demos

41 features tracked for Chrome 133. 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 (41)

Shipped (26)

  1. Animation.overallProgress

    Adds an "overallProgress" property to the JavaScript class Animation[1]. This property provides authors with a convenient and consistent representation of how far along an animation has advanced across its iterations an...

  2. Atomics.pause

    Adds the Atomics.pause method to hint the CPU that the current code is executing a spinlock.

  3. CSP hash reporting for scripts

    Complex web application often need to keep tabs of the subresources that they download, for security purposes. In particular, upcoming industry standards and best practices (e.g. PCI-DSS v4) require that web application...

  4. CSS :open pseudo-class

    The :open pseudo-class matches <dialog> and <details> when they are in their open state, and matches <select> and <input> when they are in modes which have a picker and the picker is showing.

  5. CSS Scroll State Container Queries

    Use container queries to style descendants of containers based on their scroll state. The query container is either a scroll container, or an element affected by the scroll position of a scroll container. The following ...

  6. CSS advanced attr() function

    Implement the augmentation to attr() specified in CSS Level 5, which allows types besides <string> and usage in all CSS properties (besides pseudo-element 'content'). Example: <style> div { background-color: att...

  7. CSS text-box, text-box-trim, and text-box-edge

    To achieve optical balance of text content, the text-box-trim and text-box-edge properties, along with the text-box shorthand property, make finer control of vertical alignment of text possible. The text-box-trim proper...

  8. DOM State-Preserving Move

    This features adds a DOM primitive (moveBefore) that allows moving elements around a DOM tree, without resetting the element's state. This function would be available on ParentNodes, like Element, Document, DocumentFragm...

  9. Expose attributionsrc attribute on <area>

    For Attribution Reporting, the attributionsrc attribute was already unintentionally processed on <area> elements due to code shared with <a>, which intentionally supported that attribute. For completeness, we expose the ...

  10. Expose coarsened cross-origin renderTime in elment timing/LCP (regardless of TAO)

    All element-timing and LCP performance entries would have a non-zero renderTime, even if they are cross-origin without Timing-Allow-Origin. All presentation timestamps (renderTime, paint timing start time, event timing e...

  11. FileSystemObserver interface

    The FileSystemObserver interface notifies websites of changes to the file system. Sites observe changes to files and directories, to which the user has previously granted permission, in the user's local device (as specif...

  12. Fix mouse focus for slotted elements in Shadow DOM

    Currently, mouse-triggered event will traverse up to the parent or shadow host to find fallback element to receive mouse focus. This doesn't make sense for slotted content, where we expect the fallback element to receive...

  13. Fix text selection on Shadow DOM with delegatesFocus

    A shadow host with delegatesFocus set to true will delegate its focus to its first focusable child. On a mouse click event, the child will receive focus and the event will be marked as handled. No further event dispatch...

  14. Freezing on Energy Saver

    When Energy Saver is active, Chrome will freeze a "browsing context group" that has been hidden and silent for >5 minutes if any subgroup of same-origin frames within it exceeds a CPU usage threshold, unless it: - Prov...

  15. Multiple import maps

    Import maps currently have to load before any ES module and there can only be a single import map per document. That makes them fragile and potentially slow to use in real-life scenarios: Any module that loads before the...

  16. Popover invoker and anchor positioning improvements

    This chromestatus represents the following related set of changes, which were resolved in https://github.com/whatwg/html/pull/9144#issuecomment-2195095228 and landed in https://github.com/whatwg/html/pull/10728: 1. add ...

  17. Popover nested inside invoker shouldn't re-invoke it

    In this case: ``` <button popovertarget=foo>Activate <div popover id=foo>Clicking me shouldn't close me</div> </button> ``` clicking the button properly activates the popover, however, clicking on the popover itself ...

  18. Resource timing: revert responseStart change and introduce firstResponseHeadersStart

    Resource timing: - responseStart returns the first response, either early hints (interim) or final - Expose the final response headers (2xx/4xx/5xx) time as finalResponseHeadersStart.

  19. Secure Rust Font Stack

    The Rust font stack for Chrome integrates the Fontations font libraries into Chromium as a safe replacement for FreeType (https://github.com/googlefonts/fontations/). This project is a collaboration between Chrome and Go...

  20. Storage Access Headers

    Offers an alternate way for authenticated embeds to opt in for unpartitioned cookies. These headers indicate whether unpartitioned cookies are (or can be) included in a given network request, and allow servers to activat...

  21. Support creating ClipboardItem with Promise<DOMString>

    The ClipboardItem, which is the input to the async clipboard write method, now accepts string values in addition to Blobs in its constructor. ClipboardItemData can be a Blob, a string, or a Promise that resolves to eithe...

  22. 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...

  23. WebAssembly Memory64

    The memory64 proposal adds support for linear WebAssembly memories with size larger than 2^32 bits. It provides no new instructions, but instead extends the existing instructions to allow 64-bit indexes for memories and ...

  24. WebGPU: 1-component vertex formats (and unorm8x4-bgra)

    Adds additional vertex formats not present in the initial release of WebGPU due to lack of support or old macOS versions (which are no longer supported by any browser). The 1-component vertex formats lets applications re...

  25. X25519 algorithm of the Web Cryptography API

    The "X25519" algorithm provides tools to perform key agreement using the X25519 function specified in [RFC7748]. The "X25519" algorithm identifier can be used in the SubtleCrypto interface to access the implemented opera...

  26. popover=hint

    The Popover API (https://chromestatus.com/feature/5463833265045504) specifies the behavior for two values of the `popover` attribute: `auto` and `manual`. This feature describes a third value, `popover=hint`. Hints, whic...

Deprecated (2)

  1. Remove <link rel=prefetch> five-minute rule

    Previously, when a resource was prefetched using <link rel=prefetch>, we ignored its cache semantics (namely max-age and no-cache) for the first use within 5 minutes, to avoid refetching. Now, we remove this special case...

  2. Remove Chrome Welcome page triggering via initial prefs first run tabs

    Including "chrome://welcome" in the "first_run_tabs" property of the "initial_preferences" file will now have no effect. This is removed because that page is redundant with the First Run Experience that triggers on deskt...

Origin Trial (3)

  1. Freezing on Energy Saver

    When Energy Saver is active, Chrome will freeze a "browsing context group" that has been hidden and silent for >5 minutes if any subgroup of same-origin frames within it exceeds a CPU usage threshold, unless it: - Prov...

    Origin Trial ChromeStatus ↗ demo →
  2. Partitioning Storage, Service Workers, and Communication APIs

    Note: this has launched in Chrome 115 We intend to partition a number of APIs in 3rd party contexts. This effort is focused on partitioning APIs above the network stack. This includes quota-managed storage, service wo...

    Origin Trial ChromeStatus ↗ demo →
  3. Reference Target for Cross-root ARIA

    Reference Target enables ID attributes like <label for>, aria-labelledby, popovertarget, and commandfor to be forwarded to elements inside a component's shadow DOM, while maintaining the shadow's encapsulation of its int...

    Origin Trial ChromeStatus ↗ demo →

Dev Trial (10)

  1. Audio Output Devices API: setPreferredSinkId()

    Adds setPreferredSinkId() to MediaDevices, which enables a top-level frame to override the default audio output device for all audio renderers in the top-level frame and its child frames, including cross-origin child fr...

  2. CSS sibling-index() and sibling-count()

    sibling-index() and sibling-count() can be used as integers in CSS property values to style elements based on their position among its siblings, or the total number of siblings respectively. These functions can be used d...

  3. Dialog light dismiss

    One of the nice features of the Popover API is its light dismiss behavior. This chromestatus is about bringing that same capability to `<dialog>`. A new `closedby` attribute controls behavior: `<dialog closedby=none>`...

  4. Digital Credentials API (issuance support)

    This Web Platform feature enables issuing websites (e.g., a university, government agency, or bank) to securely initiate the provisioning (issuance) process of digital credentials directly into a user's mobile wallet app...

  5. Digital Credentials API (presentation support)

    Websites can and do get credentials from mobile wallet apps through a variety of mechanisms today (custom URL handlers, QR code scanning, etc.). This Web Platform feature would allow sites to request identity informatio...

  6. Error.isError

    Adds the Error.isError(obj) static method. It returns true for JS native errors and DOMExceptions, and false otherwise.

  7. Fluent Scrollbars.

    This feature modernizes the Chromium scrollbars (both overlay and non-overlay) on Windows and Linux to fit the Windows 11 Fluent design language. Non-overlay Fluent scrollbars will be enabled by default in Linux and Win...

  8. IndexedDB getAllRecords() and direction option for getAll()/getAllKeys()

    This feature adds the getAllRecords() API to IndexedDB's IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality enables certain read patterns to be significantl...

  9. Interest Invokers (the `interestfor` attribute)

    This feature adds an `interestfor` attribute to <button> and <a> elements. This attribute adds "interest" behaviors to the element, such that when the user "shows interest" in the element, actions are triggered on the ta...

  10. Popover nested inside invoker shouldn't re-invoke it

    In this case: ``` <button popovertarget=foo>Activate <div popover id=foo>Clicking me shouldn't close me</div> </button> ``` clicking the button properly activates the popover, however, clicking on the popover itself ...