chrome 148 · released

chrome 148 platform demos

37 features tracked for Chrome 148. 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 (37)

Shipped (20)

  1. CSS Name-only Container Queries

    A CSS query container can be queried based on its container-name only, and the container does not need any container-type set: <style> #container { container-name: --foo; } @container --foo { input { background-colo...

  2. Content type in Resource Timing

    Adds the contentType field to PerformanceResourceTiming to hold a string corresponding to the content type of the fetched resource as returned by the server.

  3. Correctly set "dropEffect" for "dragEnter", "dragLeave" and "dragOver" events

    The drag and drop specifications require the "dataTransfer"'s object "dropEffect" attribute to have certain predetermined values on "dragEnter", "dragOver" and "dragLeave". Drag enter and drag over should have a "dropEff...

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

  5. Get Secure Payment Confirmation Capabilities

    Adds a new static method to the Payment Request that allows web developers to get the capabilities of the browser's implementation of Secure Payment Confirmation. This helps web developers to easily know what capabiliti...

  6. IDNA ContextJ rules

    IDNA is the mechanism for non-ASCII characters in domain names, encoding a URL like http://네이버.한국/ as http://xn--950bt9s8xi.xn--3e0b707e/ (a redirect to naver.com). The processing is defined by https://www.unicode.org/r...

  7. Lazy loading for video and audio elements

    Adds the loading attribute to <video> and <audio> elements, allowing developers to defer media resource loading until the element is near the viewport using loading="lazy". This matches the existing lazy loading behavior...

  8. Manifest localization

    Supports localization of manifest members so apps can adapt their names, descriptions, icons, and shortcuts to the user’s language and region. Developers provide localized values in the web app manifest, and the browser ...

  9. Open Font Format avar2 text shaping and glyph rendering

    Version 2 of the avar (Axis Variations) table enables font designers to create variable fonts with better control over interpolation. While the original variable font spec handles axes independently, avar2 allows axes to...

  10. Pointer event suppression on drag start

    According to the HTML spec, when a drag starts the user agent should send the appropriate events to the drag source to indicate that the pointer event stream has ended, and that it shouldn't expect any more events from t...

  11. Predictable reported storage quota

    Chrome 138 will introduce a predictable storage quota from StorageManager's estimate API for sites that do not have unlimited storage permissions. It is possible to detect a user's browsing mode via the reported storage...

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

  13. SharedWorker on Android

    For a long time, SharedWorker has been disabled on Android due to concerns about its unpredictable process lifecycle. We believed that SharedWorker instances might terminate unexpectedly, without noticing to users or web...

  14. The revert-rule keyword

    The revert-rule keyword rolls back the cascade to the previous rule, similar to how revert-layer rolls back the cascade to the previous layer. For example: ``` div { color: green; } div { color: revert-rule; /* Effe...

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

  16. Web Serial API on Android

    The Web Serial API provides an interface for connecting to serial devices, either through a serial port on the user’s system or removable USB and Bluetooth devices that emulate a serial port. Now it is supported on Andro...

  17. WebGPU: `linear_indexing` feature

    Functionality added to the WebGPU spec after its first shipment in a browser. Adds two new compute shader built-in values for user quality of life. These are implemented for all backends (as polyfills of existing built-...

  18. WebRTC Datachannel: Always negotiate data channels

    Implements a WebRTC extension alwaysNegotiateDataChannels which defines a way for the application to negotiate data channels in the SDP offer before creating a datachannel. This also negotiates the data m= section before...

  19. at-rule: CSS Feature Detection

    This feature adds an `at-rule()` function to CSS `@supports` which enables authors to feature-detect support for CSS at-rules.

  20. text-decoration-skip-ink: all

    Add support for the `all` value for the CSS text-decoration-skip-ink property, as specified in https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property. The `text-decoration-skip-ink` property alread...

Origin Trial (9)

  1. Agentic Federated Login

    A set of FedCM extensions to help agentic browsers safely log users in to websites using their federated accounts.

    Origin Trial ChromeStatus ↗ demo →
  2. Connection Allowlists

    Connection Allowlists is a feature designed to provide explicit control over external endpoints by restricting connections initiated via the Fetch API or other web platform APIs from a document or worker. The proposed i...

    Origin Trial ChromeStatus ↗ demo →
  3. Container Timing

    The Container Timing API enables monitoring when annotated sections of the DOM are displayed on screen and have finished their initial paint. A developer will have the ability to mark subsections of the DOM with the cont...

    Origin Trial ChromeStatus ↗ demo →
  4. Declarative Shadow DOM 'shadowrootadoptedstylesheets'

    Allows for Declarative Shadow DOM (DSD) to specify adopted stylesheets at parse time. 'shadowrootadoptedstylesheets' supports a space-separated list of specifiers that each get fetched (exactly like a JavaScript import) ...

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

    Origin Trial ChromeStatus ↗ demo →
  6. Long Animation Frames style duration

    Add `styleDuration` and `forcedStyleDuration` information to the Long Animation Frame API, enabling developers to distinguish style and layout times.

    Origin Trial ChromeStatus ↗ demo →
  7. OpaqueRange

    `OpaqueRange` represents a live span of text within a form control’s value, such as a `<textarea>` or text-based `<input>`, so developers can work with value text using range-like APIs. It enables operations such as `ge...

    Origin Trial ChromeStatus ↗ demo →
  8. Prompt API Sampling Parameters

    The Prompt API Sampling Parameters allow developers to control the output variety of the built-in AI language model. Instead of exposing raw numerical parameters (e.g. topK and temperature) which can behave inconsistentl...

    Origin Trial ChromeStatus ↗ demo →
  9. Web app HTML install element

    Triggers a request for the browser to install a web app, given a manifest URL and optional manifest ID. The <install> element enables cross-origin web app installation without JavaScript and provides a better developer e...

    Origin Trial ChromeStatus ↗ demo →

Dev Trial (8)

  1. Agentic Federated Login

    A set of FedCM extensions to help agentic browsers safely log users in to websites using their federated accounts.

  2. Deprecate and remove: non-allowlisted Event interfaces from document.createEvent()

    Remove support for creating non-allowlisted event interfaces from document.createEvent(). After this change, these will throw NOT_SUPPORTED_ERR as required by the specification. (However, events with usage above 0.01% or...

  3. OpaqueRange

    `OpaqueRange` represents a live span of text within a form control’s value, such as a `<textarea>` or text-based `<input>`, so developers can work with value text using range-like APIs. It enables operations such as `ge...

  4. Out of order streaming

    Use <template for> and processing instruction ranges (<?marker>, <?start>, and <?end> to update existing parts of the document without JS.

  5. Remove explicit border color UA stylesheet rule for tables

    This change removes the erroneous `border-color: gray` CSS rule from the UA stylesheet for the `<table>` element. The spec does not contain this rule: https://html.spec.whatwg.org/multipage/rendering.html#tables-2 and...

  6. Renewed HTML insertion&streaming methods

    Expose multiple HTML setting methods that provide a coherent story for dynamically inserting markup into an existing document. - Positional methods (before/after/append/prepend/replaceWith) that take HTML as argument, e...

  7. Summarizer API performance preference

    The current Summarizer (https://chromestatus.com/feature/5193953788559360) relies on large on-device models, which can imply high latency, high resource usage, and limited device compatibility. We propose adding a prefer...

  8. User action pseudo class top layer boundary

    This feature represents the behavior described in this section of the CSS spec: https://www.w3.org/TR/selectors-4/#useraction-pseudos which says that :hover, :active, and :focus-within match on the parents of elements,...