chrome 138 · released

chrome 138 platform demos

33 features tracked for Chrome 138. 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 (33)

Shipped (22)

  1. Pass 'Sec-Purpose: prefetch' header with <link rel=prefetch>

    Chrome currently passes both 'Purpose: prefetch' and 'Sec-Purpose: prefetch' headers as part of prefetch through speculation rules. However, only 'Purpose: prefetch' is passed with <link rel=prefetch>. We plan to stan...

  2. Add prefetchCache and prerenderCache to Clear-Site-Data header

    Two new values for the Clear-Site-Data header to help developers target clearing the prerender and prefetch cache: "prefetchCache" and "prerenderCache".

  3. Add support for video frame orientation metadata to WebCodecs

    Introduces "rotation: int" and "flip: bool" values to various video related interfaces in WebCodecs so that developers can work with frame sources that have orientation (E.g., Android cameras, certain media). The Vide...

  4. CSS 'stretch' sizing keyword

    A keyword for CSS sizing properties (e.g. 'width', 'height') that allows elements to grow to exactly fill their containing block's available space. It is similar to '100%', except the resulting size is applied to the ele...

  5. CSS Sign-Related Functions: abs(), sign()

    The sign-related functions ​abs() and sign() ​compute various functions related to the sign of their argument. The abs(A) function contains one calculation A, and returns the absolute value of A, as the same type as t...

  6. CSS env variable for OS-level font scale

    Exposes a user's preferred font scale to CSS. Currently, it is not practical for a page to detect if the user has changed their preferred font size via the Operating System's preferences. This CSS environment variable wi...

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

  8. Crash Reporting API: is_top_level & visibility_state

    This feature adds `is_top_level` and `visibility_state` string fields to the crash reporting API body that gets sent to the default reporting endpoint for crash reports. See https://wicg.github.io/crash-reporting/#crash-...

  9. Escape "<" and ">" in attributes on serialization

    Escape "<" and ">" in values of attributes on serialization. This mitigates the risk of mutation XSS attacks, which occur when value of an attribute is interpreted as a start tag token after being serialized and re-pa...

  10. Ignore Letter Spacing in Cursive Scripts

    This feature adds logic to ignore the letter-spacing setting for cursive scripts as specified by the web author, in line with the spec, to ensure that letter spacing does not disrupt word structure and aims to produce be...

  11. Integrity Policy for scripts

    Subresource-Integrity (SRI) enables developers to make sure the assets they intend to load are indeed the assets they are loading. But there's no current way for developers to be sure that all of their scripts are valida...

  12. Interpolation progress functional notation: CSS progress() function

    The progress() functional notation returns a <number> value representing the position of one calculation (the progress value) between two other calculations (the progress start value and progress end value). progress() i...

  13. Language Detector API

    A JavaScript API for detecting the language of text, with confidence levels. An important supplement to translation is language detection. This can be combined with translation, e.g. taking user input in an unknown lang...

  14. Pushsubscriptionchange event upon resubscription

    Fire the pushsubscriptionchange event in service workers when an origin for which a push subscription existed in the past, but which was revoked because of a permission change (from granted to deny/default), is re-grante...

  15. ServiceWorker support for Speculation Rules Prefetch

    This feature enables ServiceWorker-controlled prefetches, that is a speculation rules prefetch to URLs controlled by a Service Worker. Previously, the prefetch is cancelled upon detecting a controlling Service Worker, th...

  16. Speculation rules: mobile "moderate" eagerness improvements

    On mobile, "moderate" eagerness speculation rules prefetches and prerenders now trigger when a link enters the viewport and passes other conditions that indicate that it's more likely to be clicked. The previous behav...

  17. Speculation rules: target_hint field

    This extends speculation rules syntax to allow developers to specify the target_hint field. This field provides a hint to indicate a target navigable where a prerendered page will eventually be activated. For example, w...

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

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

  20. Update QuotaExceededError to a DOMException derived interface

    Currently, when the web platform wants to tell you when you've exceeded quota, it will use `DOMException` with the specific `name` property set to `QuotaExceededError`. However this does not allow carrying additional inf...

  21. Viewport Segments Enumeration API

    The Viewport Segments API allows developers to adapt their website/webapp layout to target foldable devices. The viewport segments defines the position and dimensions of a logically separate region of the viewport. Viewp...

  22. Web serial over Bluetooth on Android

    This feature allows web pages and web apps to connect to serial ports over Bluetooth on Android devices. Chrome on Android now supports Web Serial API over Bluetooth RFCOMM. Existing enterprise policies (DefaultSerialGu...

Deprecated (2)

  1. Deprecate asynchronous range removal for Media Source Extensions

    The Media Source standard long ago changed to disallow ambiguously defined behavior involving asynchronous range removals: * SourceBuffer.abort() no longer aborts SourceBuffer.remove() operations * Setting MediaSource.du...

  2. WebGPU: Deprecate GPUAdapter isFallbackAdapter attribute

    Deprecates the GPUAdapter isFallbackAdapter boolean attribute from WebGPU, which is redundant with the GPUAdapterInfo isFallbackAdapter boolean attribute. This upcoming removal is a minor breaking change as support for ...

Dev Trial (9)

  1. CSS Anchored Fallback Container Queries

    Introduce @container anchored(fallback) to style descendants of anchor positioned elements based on which of position-try-fallbacks is applied. Such queries can be used to e.g. style an anchored element's tether, its an...

  2. CSS counter() and counters() in alt text of 'content' property

    counter() and counters() in alt text of 'content' property is useful to provide more meaningful information to e.g. pseudo-elements to improve their accessibility.

  3. CSS scroll-target-group property

    The scroll-target-group property specifies whether the element is a scroll marker group container. 'none': The element does not establish a scroll marker group container. 'auto': The element establishes a scroll mark...

  4. CSS typed arithmetic

    Typed arithmetic allows to write expressions in CSS such a calc(10em / 1px) or calc(20% / 0.5em * 1px) which is useful for e.g. typography, as it allows to convert typed value into an untyped one and reuse it for number ...

  5. Cache sharing for extremely-pervasive resources

    For a small number (hundreds) of hand-curated static third-party script, stylesheet and compression-dictionary resources that are used on a large portion of the web, Chrome will use a single-keyed HTTP cache to store tho...

  6. HTML-in-canvas

    HTML-in-canvas enables customizing the rendering of html using canvas with three new primitives: an attribute to opt-in canvas elements (layoutsubtree), methods to draw child elements (2d: drawElementImage, webgl: texEle...

  7. Local network access restrictions

    Chrome 142 restricted the ability to make requests to the user's local network, gated behind a permission prompt. A local network request is any request from a public website to a local IP address or loopback, or from a ...

  8. ScrollIntoView container option

    The ScrollIntoViewOptions container option allows developers to perform a scrollIntoView only scrolling the nearest ancestor scroll container. For example, the following snippet only scrolls the scroll container of targe...

  9. Uint8Array to/from base64 and hex

    base64 is a common way to represent arbitrary binary data as ASCII. JavaScript has Uint8Arrays to work with binary data, but no built-in mechanism to encode that data as base64, nor to take base64'd data and produce a co...