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 128 currentPolypane 21.1

  • Box Decoration Break
    BoxDecorationBreakchromestatus.com

    Support box-decoration-break:clone both for inline fragmentation (line layout) and block fragmentation (pagination for printing, multicol). Traditionally in Blink, only box-decoration-break:slice (the initial value) has been supported for block fragmentation, whereas for inline fragmentation, box-decoration-break:clone was also supported, but only when using the prefixed -webkit-box-decoration-break property. See https://drafts.csswg.org/css-break/#break-decoration

  • Coalesce Selectionchange Event
    CoalesceSelectionchangeEventchromestatus.com

    This feature is not to fire selectionchange event when there is already one pending. For web developers, selectionchange event listeners will be called less often with this feature. Before this feature, every time the mutation of the selection on one target(input/textarea/document) would make the listener to be called once. Now with this feature, before the selectionchange event listner is finally called, multiple mutations of the selection on one target would make the listener to be called only once.

  • Controlled Frame
    ControlledFramechromestatus.com

    Adds a Controlled Frame API available only to Isolated Web Apps (IWAs). This work will add a new Controlled Frame API which is only available to Isolated Web Apps (IWAs). Like similarly-named APIs on other platforms, Controlled Frame allows embedding all content, even third party content that can't be embedded in <iframe>. Controlled Frame also allows controlling embedded content with a collection of API methods and events. For more info on Isolated Web Apps, see the IWA explainer: https://github.com/WICG/isolated-web-apps/blob/main/README.md

  • CSS Inset Area Value
    CSSInsetAreaValuechromestatus.com

    Replaces the inset-area() function with inset-area values directly within position-try-fallbacks. This means that you now just write e.g. position-try-fallbacks:top instead of position-try-fallbacks:inset-area(top).

  • CSS Reading Flow
    CSSReadingFlowchromestatus.com

    The reading-flow CSS property controls the order in which elements in a flex or grid layout are rendered to speech or are navigated to when using (linear) sequential navigation methods. This feature implements the listed values: * normal * flex-visual * flex-flow * grid-rows * grid-columns * grid-order

  • Multi Smooth Scroll Into View
    MultiSmoothScrollIntoViewchromestatus.com

    This feature allows scrollIntoView with behavior: "smooth" to run concurrently on scroll containers which are neither descendants nor ancestors of one another. scrollIntoView with behavior: "smooth" is a JavaScript method developers can use to cause scroll containers to scroll to their descendants via a gentle scroll animation. This feature fixes Chrome's implementation of the API so that ongoing scrollIntoView animations are not cancelled by unrelated scrolls on other scroll containers. This codepen[1] demonstrates the difference in behavior between Chrome and other browsers. The features also fixes cases where Chrome fails to scroll to a page's fragment anchor because of a competing scrollIntoView that is invoked when the page loads. [1] https://codepen.io/awogbemila/pen/GRaJQMG

  • WebGPU HDR

    Adds tone mapping parameters to the WebGPU canvas configuration, and adds options of "standard" (the current behavior of restricting content to the SDR range of the display) as the default, and "extended" (not imposing this restriction) as a new behavior. This allows WebGPU content to use the full range of a display.

  • Web Identity Digital Credentials
    WebIdentityDigitalCredentialschromestatus.com

    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 information from wallets via Android's IdentityCredential CredMan system. It is extensible to support multiple credential formats (eg. ISO mDoc and W3C verifiable credential) and allows multiple wallet apps to be used. Mechanisms are being added to help reduce the risk of ecosystem-scale abuse of real-world identity (see https://docs.google.com/document/u/1/d/1L68tmNXCQXucsCV8eS8CBd_F9FZ6TNwKNOaFkA8RfwI/edit).

  • New features in Chromium 128 with missing description
    CSS Line Clamp
    CSSLineClamp
    CSS Text Box Trim
    CSSTextBoxTrim
    File System Observer Unobserve
    FileSystemObserverUnobserve
    Page Margin Boxes
    PageMarginBoxes
    Report Event Timing At Visibility Change
    ReportEventTimingAtVisibilityChange
    Selection Across Shadow DOM
    SelectionAcrossShadowDOM
    Select Parser Relaxation
    SelectParserRelaxation
    Web Codecs Video Encoder Buffers
    WebCodecsVideoEncoderBuffers
    WebGPU Subgroups Features
    WebGPUSubgroupsFeatures

Added in Chromium 127

  • Audio Context On Error
    AudioContextOnErrorchromestatus.com

    AudioContext creation and audio rendering errors are reported to web applications via a callback assigned to AudioContext.onerror.

  • CSS Anchor Scope
    CSSAnchorScopechromestatus.com

    The anchor-scope property allows limiting the visibility of anchor names to a given subtree.

  • Css Ruby Align
    CssRubyAlignchromestatus.com

    Support of new CSS property `ruby-align` is added. The property accepts one of `space-around` `space-between` `start` and `center` keywords, and controls alignment of ruby base text and ruby annotation text.

  • CSS Scroll Snap Change Event
    CSSScrollSnapChangeEventchromestatus.com

    Snap Events allow developers reliably listen for when the "snap target" of a scroller changes and perform style adjustments as desired. CSS scroll snap points are often used as a mechanism to create scroll interactive "selection" components, where selection is determined with javascript intersection observers and a scroll end guestimate. By creating built-in events, the invisible state will become actionable, at the right time, and always correct. This feature adds two JavaScript events: scrollsnapchange and scrollsnapchanging. Scrollsnapchange lets developers know, at the completion of a scroll operation (including snapping), that the element to which a scroller is snapped has changed. Scrollsnapchanging gives developers a hint, during a scroll operation, that the user agent intends to snap the scroll container to a new snap target based on the scrolling input so far.

  • CSS Scroll Snap Changing Event
    CSSScrollSnapChangingEventchromestatus.com

    Snap Events allow developers reliably listen for when the "snap target" of a scroller changes and perform style adjustments as desired. CSS scroll snap points are often used as a mechanism to create scroll interactive "selection" components, where selection is determined with javascript intersection observers and a scroll end guestimate. By creating built-in events, the invisible state will become actionable, at the right time, and always correct. This feature adds two JavaScript events: scrollsnapchange and scrollsnapchanging. Scrollsnapchange lets developers know, at the completion of a scroll operation (including snapping), that the element to which a scroller is snapped has changed. Scrollsnapchanging gives developers a hint, during a scroll operation, that the user agent intends to snap the scroll container to a new snap target based on the scrolling input so far.

  • New features in Chromium 127 with missing description
    Allow Java Script To Reset Autofill State
    AllowJavaScriptToResetAutofillState
    Audio Context Playout Stats
    AudioContextPlayoutStats
    Canvas2d G P U Transfer
    Canvas2dGPUTransfer
    Credential Manager Report
    CredentialManagerReport
    CSS Lazy Parsing Fast Path
    CSSLazyParsingFastPath
    Disable Third Party Storage Partitioning2
    DisableThirdPartyStoragePartitioning2
    Limit Third Party Cookies
    LimitThirdPartyCookies
    Payment Link Detection
    PaymentLinkDetection
    Text Size Adjust Improvements
    TextSizeAdjustImprovements
    Unblock Touch Move Earlier
    UnblockTouchMoveEarlier

Added in Chromium 126 Polypane 20.1.2

  • Dispatch Selectionchange Event Per Element
    DispatchSelectionchangeEventPerElementchromestatus.com

    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.

  • Fed Cm With Storage Access API
    FedCmWithStorageAccessAPIchromestatus.com

    Reconciles the FedCM and Storage Access APIs by making a prior FedCM grant a valid reason to automatically approve a storage access request. When a user grants permission for using their identity with a 3rd party Identity Provider (IdP) on a Relying Party (RP), many IdPs require third-party cookies to function correctly and securely. This proposal aims to satisfy that requirement in a private and secure manner by updating the Storage Access API (SAA) permission checks to not only accept the permission grant that is given by a storage access prompt, but also the permission grant that is given by a FedCM prompt. A key property of this mechanism is limiting the grant to cases explicitly allowed by the RP via the FedCM permissions policy, enforcing a per-frame control for the RP and preventing passive surveillance by the IdP beyond the capabilities that FedCM already grants, as outlined in the Privacy Considerations.

  • Font Variation Sequences
    FontVariationSequenceschromestatus.com

    Font-variant-emoji CSS property provides users an easy way to control between colored (emoji-style) and monochromatic (text-style) emoji glyphs presentations. This can be also done by adding an emoji Variation Selector, specifically U+FE0E for text and U+FE0F for emojis, after each emoji codepoint. Using font-variant-emoji CSS property allows web developers to select between emoji style (colored) emoji presentation, text style (monochromatic) emoji presentation and unicode default emoji presentation [0]. This property only affects emojis that are part of a Unicode emoji presentation sequence [1]. [0] https://www.unicode.org/reports/tr51/tr51-25.html#Emoji_Presentation [1] http://www.unicode.org/emoji/charts/emoji-variants.html

  • Import Map Integrity
    ImportMapIntegritychromestatus.com

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

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

    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
    ContinueEventTimingRecordingWhenBufferIsFull
    CSS Content Multi Arg Alt Text
    CSSContentMultiArgAltText
    CSS Reading Order Items
    CSSReadingOrderItems
    CSS Scroll Start Target
    CSSScrollStartTarget
    Fill Scrolling Contents Layer
    FillScrollingContentsLayer
    Find Text In Readonly Text Input
    FindTextInReadonlyTextInput
    Ruby Line Edge Alignment
    RubyLineEdgeAlignment
    Secure Payment Confirmation Network And Issuer Icons
    SecurePaymentConfirmationNetworkAndIssuerIcons

Added in Chromium 125

  • Document Policy Include JS Call Stacks In Crash Reports
    DocumentPolicyIncludeJSCallStacksInCrashReportschromestatus.com

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

    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: https://github.com/w3c/mediasession/issues/273 And the specs change pr: https://github.com/w3c/mediasession/pull/308

  • Visual Viewport On Scroll End
    VisualViewportOnScrollEndchromestatus.com

    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]https://html.spec.whatwg.org/multipage/webappapis.html#handler-onscrollend [2]https://drafts.csswg.org/cssom-view/#dom-visualviewport-onscrollend.

  • Window Placement Permission Alias
    WindowPlacementPermissionAliaschromestatus.com

    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 https://chromestatus.com/feature/5146352391028736

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

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