chrome 139 · released

chrome 139 platform demos

36 features tracked for Chrome 139. 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 (36)

Shipped (19)

  1. 'request-close' Invoker Command

    Dialog elements can be closed through a variety of mechanisms, sometimes developers want to have the ability to prevent closure. To achieve this dialogs fire a cancel event. Originally this was only fired via a close req...

  2. Audio Level for RTC Encoded Frames

    This feature consists in exposing to the Web the audio level of an encoded frame transmitted via RTCPeerConnection and exposed using WebRTC Encoded Transform.

  3. CSS Custom Functions

    Custom Functions are similar to custom properties, but instead of returning a single, fixed value, they return values based on other custom properties, parameters, and conditionals.

  4. Continue running transitions when switching to initial transition value.

    When the transition related properties change, they are only supposed to affect newly started transitions. This means that if you change the transition properties, unless you also change the properties which have active ...

  5. Corner shaping (corner-shape, superellipse, squircle)

    Enable styling corners, on top of the existing border-radius, by expressing the shape/curvature of the corner as a superellipse. This allows shapes like squircles, notches, scoops etc., and animating between them.

  6. Crash Reporting API: Specify crash-reporting to receive only crash reports

    This feature ensures developers receive only crash reports by specifying the endpoint named `crash-reporting `. By default, crash reports are delivered to the `default` endpoint which receives many other kinds of reports...

  7. Faster background freezing on Android

    Shortens the time to freezing background pages (and associated workers) from 5 minutes to 1 minute on Android. See the original intent to ship for background: https://groups.google.com/a/chromium.org/g/blink-dev/c/NKtuFx...

  8. Fire error event instead of throwing for CSP blocked worker

    When blocked by CSP, Chromium currently throws SecurityError from constructor of Worker and SharedWorker. Spec requires CSP to be checked as part of fetch and fires error event asynchronously instead of throwing exceptio...

  9. On-device Web Speech API

    This feature adds on-device speech recognition support to the Web Speech API, allowing websites to ensure that neither audio nor transcribed speech are sent to a third-party service for processing. Websites can query ...

  10. Randomizing TCP Port Allocation on Windows

    This launch enables TCP port randomization on versions of Windows (2020 H1 or later) where we do not expect to see issues with re-use of prior ports occurring too fast (causing rejection due to timeouts on port re-use). ...

  11. Scroll Anchoring Priority Candidate Fix

    Currently, scroll anchoring algorithm selects priority candidates when they are available as anchor targets. The priority candidates are currently a focused editable element and find-in-page highlights. This can caus...

  12. Short-circuiting var() and attr()

    When the fallback is not taken, var()/attr() functions evaluate without looking for cycles in that fallback.

  13. Spec-compliant JSON MIME type detection

    Chromium now recognizes all valid JSON MIME types as defined by the WHATWG mimesniff specification. This includes any MIME type whose subtype ends with “+json”, in addition to the traditional application/json and text/js...

  14. Support font-feature-settings descriptor in @font-face rule

    As CSS allows fine control over font features using 'font-feature-settings' at the element level, Chromium-based browsers currently lack support for these properties within '@font-face' declarations. This feature suppor...

  15. Web app scope extensions

    Adds a "scope_extensions" web app manifest field that enables web apps to extend their scope to other origins. Example usage: { "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_ex...

  16. WebGPU 'core-features-and-limits'

    The 'core-features-and-limits' feature signifies a WebGPU adapter and device support the core features and limits of the spec. Explainer: https://gist.github.com/greggman/0dea9995e33393c546a4c2bd2a12e50e

  17. WebGPU: 3D texture support for BC and ASTC compressed formats

    Functionality added to the WebGPU spec after its first shipment in a browser. The “texture-compression-bc-sliced-3d” and “texture-compression-astc-sliced-3d” WebGPU features add respectively 3D texture support for BC ...

  18. WebXR Depth Sensing Performance Improvements

    Exposes several new mechanisms to customize the behavior of the depth sensing feature within a WebXR session, with the goal of improving the performance of the generation or consumption of the depth buffer. The key me...

  19. securePaymentConfirmationAvailability API

    This is a Javascript API to provide an easier way to check if the Secure Payment Confirmation[1] feature is available. Currently, the only way to determine SPC’s availability is to create a PaymentRequest with the requir...

Deprecated (3)

  1. Chrome removes support for macOS 11

    Chrome 138 will be the last release to support macOS 11; Chrome 139+ will no longer support macOS 11, which is outside of its support window with Apple. Running on a supported operating system is essential to maintaining...

  2. Remove SwiftShader fallback

    Allowing automatic fallback to WebGL backed by the software renderer SwiftShader is deprecated and WebGL context creation will fail instead of falling back to SwiftShader. This was done for two primary reasons: 1. Swift...

  3. Remove auto-detection of ISO-2022-JP charset in HTML

    There are known[1] security issues around charset auto-detection for ISO-2022-JP. Given that the usage is very low, and Safari does not support auto-detection of ISO-2022-JP, we will remove support for it to eliminate th...

Stepped rollout (1)

  1. Remove SwiftShader fallback

    Allowing automatic fallback to WebGL backed by the software renderer SwiftShader is deprecated and WebGL context creation will fail instead of falling back to SwiftShader. This was done for two primary reasons: 1. Swift...

    Stepped rollout ChromeStatus ↗ demo →

Origin Trial (8)

  1. Extended lifetime shared workers

    This update adds a new option, `extendedLifetime: true`, to the `SharedWorker` constructor. This new option requests that the shared worker be kept alive even after all current clients have unloaded. This allows pages to...

    Origin Trial ChromeStatus ↗ demo →
  2. Fetch retry (for keepalive fetches)

    Allow web developers to indicate that a fetch() request should be retried, to have a greater guarantee on it being reliably sent, even if network is flaky. This is especially important for keepalive fetches, where the re...

    Origin Trial ChromeStatus ↗ demo →
  3. Full frame rate render blocking attribute

    We propose to add a new render blocking token full-frame-rate to the blocking attributes. When the renderer is blocked with the full-frame-rate token, the renderer will work at a lower frame rate so as to reserve more re...

    Origin Trial ChromeStatus ↗ demo →
  4. PerformanceSoftNavigation and InteractionContentfulPaint performance entry

    Adds "soft-navigation" and "interaction-contentful-paint" PerformanceEntry types to the web performance timeline to track interaction-driven page performance, including for "soft" navigations (JS-driven navigations in Si...

  5. Prompt API

    Prompt API gives web developers direct access to a browser-provided on-device AI language model. The API design offers fine-grained control, aligned with cloud API shapes, for progressively enhancing sites with model int...

    Origin Trial ChromeStatus ↗ demo →
  6. Re-Sizing TCP Connection Pool

    This experiment evaluates the impact of changing the per-profile TCP socket pool size from 256 (the current default), down to 255, and up to 257, 512, and 1024 (possibly at 1-2 numbers between those based on findings). W...

    Origin Trial ChromeStatus ↗ demo →
  7. Web Authentication Immediate UI mode

    A new mode for navigator.credentials.get() that causes browser sign-in UI to be displayed to the user if there is a passkey or password for the site that is immediately known to the browser, or else rejects the promise w...

    Origin Trial ChromeStatus ↗ demo →
  8. WebGPU Compatibility mode

    Adds an opt-in, lightly restricted subset of the WebGPU API capable of running older graphics APIs such as OpenGL and Direct3D11. By opting into this mode and obeying its constraints, developers can extend the reach of t...

    Origin Trial ChromeStatus ↗ demo →

Dev Trial (5)

  1. CSS Gap Decorations

    CSS Gap Decorations enables styling of gaps in container layouts like Grid and Flexbox, similar to ‘column-rule’ in multicol layout. This feature is highly requested by web authors who must use hacks to style the gaps in...

  2. Fetch retry (for keepalive fetches)

    Allow web developers to indicate that a fetch() request should be retried, to have a greater guarantee on it being reliably sent, even if network is flaky. This is especially important for keepalive fetches, where the re...

  3. Proofreader API

    A JavaScript API for proofreading input text with suggested corrections, backed by an AI language model.

  4. Secure Payment Confirmation: UX Refresh

    Updates the UX elements for the SPC dialog on Android Chrome. Other than just UX presentation the following are being added: - Allowing merchants to provide an optional list of payment entity logos related to the paymen...

  5. Web Install API

    Triggers a request for the browser to install a web app, given a manifest URL and optional manifest ID. The navigator.install() method enables cross-origin web app installation and provides a better developer experience ...