Skip to contentSkip to footer

Experimental web platform features are not yet part of the official web platform specifications and are marked as "experimental" in Chromium.

Polypane ships with these features (and more) enabled by default. Other Chromium browsers let you enable these on a "flags" settings page.

Added in Chromium 126 currentPolypane 20

  • Dispatch Selectionchange Event Per Element

    Dispatches selectionchange event per element when this element(input/textarea) provides a text selection or its selection changes. This is to match the latest specification of selectionchange event. This also matches Safari behavior.

  • Import Map Integrity

    Imported ES modules can't currently have their integrity checked, and hence cannot run in environments that require Subresource Integrity or with `require-sri-for` CSP directives. This feature adds an `integrity` section to import maps, enabling developers to map ES module URLs to their integrity metadata, and ensure they only load when they match their expected hashes.

  • Private Aggregation Api Filtering Ids

    Modifies the Private Aggregation API to add a 'filtering ID' to the aggregatable reports' encrypted payloads. This ID allows histogram contributions with different filtering IDs to be processed separately on the aggregation service. A list of filtering IDs could be provided in an aggregation query and any contributions not matching a listed ID will be filtered out, not contributing to the result. To support the new feature, we update the report version to "1.0" (from "0.1"). By the time this is launched to Stable, all valid aggregation service releases will support the new report version, avoiding backwards compatibility concerns. (Old releases are deprecated on a regular schedule.)

  • Ruby Line Breakable

    Line-breaks are possible within elements with `display: ruby`. A single pair of a ruby-base and a ruby-text has never been line-breakable, and it has been pushed to the next line if the current line had no enough space for the entire pair. Now each of the ruby-base and the ruby-text can be split into multiple lines.

  • New features in Chromium 126 with missing description
    Continue Event Timing Recording When Buffer Is Full
    CSS Content Multi Arg Alt Text
    CSS Reading Order Items
    CSS Scroll Start Target
    Fed Cm With Storage Access API
    Fill Scrolling Contents Layer
    Find Text In Readonly Text Input
    Font Variation Sequences
    Ruby Line Edge Alignment
    Secure Payment Confirmation Network And Issuer Icons

Added in Chromium 125

  • Document Policy Include JS Call Stacks In Crash Reports

    This feature captures the JS call stack when a web page becomes unresponsive due to JavaScript code running an infinite loop or other very long computation. This helps developers to identify the cause of the unresponsiveness and fix it more easily. The JS call stack is included in the crash reporting API when the reason is unresponsive.

  • Media Session Chapter Information

    The corresponding implementation on the blink layer based on the w3c api change, which is to add the `ChapterInformation` attribute in the existing `MediaMetadata`. ThisChapterInformation applies to audio as well as video, since MediaSession is for both audio and video. See the propose: And the specs change pr:

  • Visual Viewport On Scroll End

    Scrollend is a JavaScript event that fires to signal that a scrolling operation has come to an end. Similar to the Element interface[1], the visualViewport interface[2] includes an onscrollend event handler that should be invoked when a scrolling operation on the visualViewport has ended. Chromium already supports adding a scrollend event listener via `visualViewport.addEventListener("scrollend")`. This just makes it possible to also add an event listener using `visualViewport.onscrollend`. [1] [2]

  • Window Placement Permission Alias

    Chrome 125 removes the window-placement alias for permission and permission policy descriptors. All instances of window-placement are replaced with window-management, which better describes the related API functionality. This is a follow-up to Window Management API feature enhancements and renaming from "Multi-Screen Window Placement API"; for more details, see

  • New features in Chromium 125 with missing description
    CSS Pseudo Scroll Markers
    CSS Scroll Snap Events
    CSS Snap Changed Event
    CSS Snap Changing Event
    Exclude Transparent Texts From Being Lcp Eligible
    HTML Anchor Attribute
    Web Codecs H B D Formats

Added in Chromium 124 Polypane 19.0.2

  • Selection Respects Colors

    Chromium currently checks all selection highlight colors against the text color and inverts the highlight color if it matches the text. Hence, author-defined ::selection CSS properties may be modified by the browser despite explicit author intent. For example, a CSS rule "::selection { color: cyan; background: cyan; }" the background is inverted and red color is used. In the CSS working Group resolved to disallow the chromium behavior. We propose to implement this spec change and bring chromium into compatibility with other browsers.

  • Used Color Scheme Root Scrollbars

    Makes the browser use the user's preferred color scheme to render the viewport scrollbars if the value of "page’s supported color schemes" is 'normal' or not specified, and the computed value of the color-scheme for the root element is 'normal'. Viewport scrollbars can be considered to be outside the web content. Therefore, the user agents should honor the user's preferred color scheme when rendering viewport scrollbars if page authors have not explicitly specified support for color schemes.

  • Web XR Spec Parity

    Updates our implementation of the WebXR specification to provide a few attributes that have been added over time. These are generally attributes that developers find useful or enable small performance improvements. These include but are not limited to: Setting/Querying the framerate on an XRSession (including supported framerates), Angular/Linear Velocities, Predicted Display Time of a Frame, isSystemKeyboardSupported, and XRWebGLLayer fixedFoveation

  • New features in Chromium 124 with missing description
    Auto Picture In Picture Video Heuristics
    Canvas WebGPU Access
    HTML Interest Target Attribute
    HTML Popover Action Hover
    Speaker Selection
    Static Animation Optimization
    Web Transport Stats

Added in Chromium 123

  • Element Get HTML

    The prototype implementation (which was shipped in 2020 and then shape-changed in 2023) contained a method called `getInnerHTML()` that could be used to serialize DOM trees containing shadow roots. That part of the prototype was not standardized with the rest of declarative shadow dom, and only recently has it reached spec consensus ( As part of that consensus, the shape of the getInnerHTML API changed. This feature represents the desire to ship the new, agreed-upon shape, which is: - getHTML({serializableShadowRoots:bool, shadowRoots:[roots]}).

  • Nested Top Layer Support

    The prior behavior caused issues if a top layer element (dialog, fullscreen, etc.) was DOM-nested within a popover. The inner element, when promoted to the top layer, would cause the outer popover to be hidden, which also (via CSS display:none) hid the inner element. That, in turn, caused issues at least for dialogs, which inert the entire page. This change makes top layer elements "nestable" within popovers.

  • Shadow Root Clonable

    This enables individual control over whether a shadow root is clonable (via standard platform cloning commands such as `cloneNode()`). Imperative shadow roots can now be controlled via a parameter to `attachShadow({clonable:true})`. Declarative shadow roots can be controlled via a new attribute, `<template shadowrootmode=open shadowrootclonable>`.

  • WebGPU Experimental Features

    Functionality added to the WebGPU spec after its first shipment in a browser. ServiceWorker and SharedWorker support is added to WebGPU, aligning with existing WebGL capabilities.

  • Writing Suggestions

    UAs are starting to provide writing suggestions to users as they type on various editable fields across the web. While this is generally useful for users, there are cases when developers may want to turn off UA-provided writing assistance, such as extensions or sites that wish to provide similar functionality on their own. To that end, developers need a solution that would turn on/off UA-provided writing assistance. The new attribute 'writingsuggestions' has values 'true'/'false' that would allow developers to turn on/off browser-provided writing suggestions. The attribute's state for an element can also be inherited from ancestor elements, thereby allowing developers to control this functionality at a per-element or per-document/sub-document scale.

  • New features in Chromium 123 with missing description
    CSS Calc Size Function
    CSS Custom State New Syntax
    CSS Pseudo Open Closed
    Dialog Close When Open Removed
    Display Contents Focusable
    Page Conceal Event
    Web Assembly JS Promise Integration

Build your next project with Polypane

  • Use all features on all plans
  • On Mac, Window and Linux
  • 14-day free trial – no credit card needed
Try for free
Polypane UI