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 130 currentPolypane 22

  • CSS At Property String Syntax
    CSSAtPropertyStringSyntaxchromestatus.com

    Support for "<string>" syntax component name for registered custom properties.

  • CSS Relative Color Supports Currentcolor
    CSSRelativeColorSupportsCurrentcolorchromestatus.com

    Allow relative colors in CSS (using the 'from' keyword) to use 'currentcolor' as a base. This will make it easy for web developers to set complementary colors, based on an element's text color, for that element's borders, shadows, backgrounds, etc. This feature also includes use cases where color functions are nested with a dependency on currentcolor, for example `color-mix(in srgb, rgb(from currentcolor r g b), white))` or `rgb(from rgb(from currentcolor 1 g b) b g r)`.

  • Font Variant Emoji
    FontVariantEmojichromestatus.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

  • Selection Is Collapsed Shadow DOM Support
    SelectionIsCollapsedShadowDOMSupportchromestatus.com

    Selection isCollapsed should return true if and only if the anchor and focus are the same. This should be true whether the selection starts/ends inside a light or a shadow tree. Currently, the Chrome implementation returns true if selection's anchor node is in a shadow tree, even if the selection itself is not collapsed. We fix this by removing the erroneous shadow tree check.

  • Web Authentication Client Capabilities
    WebAuthenticationClientCapabilitieschromestatus.com

    getClientCapabilities() method allows to determine which WebAuthn features are supported by the user's client. The method returns a list of supported capabilities, allowing developers to tailor authentication experiences and workflows based on the client's specific functionality.

  • New features in Chromium 130 with missing description
    Canvas2d Layers With Options
    Canvas2dLayersWithOptions
    Canvas2d Text Metrics Shaping
    Canvas2dTextMetricsShaping
    CSS Pseudo Column
    CSSPseudoColumn
    CSS Relative Color Late Resolve Always
    CSSRelativeColorLateResolveAlways
    CSS Visibility Inert
    CSSVisibilityInert
    Document Policy Expect No Linked Resources
    DocumentPolicyExpectNoLinkedResources
    Popover Anchor Relationships
    PopoverAnchorRelationships
    Storage Access Header
    StorageAccessHeader
    System Fallback Emoji V S Support
    SystemFallbackEmojiVSSupport
    Web App Installation
    WebAppInstallation

Added in Chromium 129

  • Language Detection API
    LanguageDetectionAPIchromestatus.com

    A JavaScript API for detecting the language of text, with confidence levels.

  • Meter Appearance None Fallback Style
    MeterAppearanceNoneFallbackStylechromestatus.com

    With this change <meter> elements with `appearance: none` will have a reasonable fallback style that matches Safari and Firefox instead of just disappearing from the page. As well developers will be able to custom style the <meter> elements. A feature flag MeterAppearanceNoneFallbackStyle is available until Chrome 133 to control this feature.

  • RTC Data Channel Priority
    RTCDataChannelPrioritychromestatus.com

    Many applications have multiple media flows of the same data type and often some of the flows are more important than others. The priority setting can be used to indicate the relative priority of various flows. The priority API allows the JavaScript applications to tell the browser whether a particular media flow is high, medium, low or of very low importance to the application.

  • RTC Rtp Script Transform
    RTCRtpScriptTransformchromestatus.com

    This API allows processing of encoded media flowing through an RTCPeerConnection. Chromium shipped an early version of this API in 2020. Since then, the spec has changed and other browsers have shipped the updated version of the spec (Safari in 2022 and Firefox in 2023). This launch refers to the latest spec version.

  • Sideways Writing Modes
    SidewaysWritingModeschromestatus.com

    Support of `sideways-rl` and `sideways-lr` keywords for `writing-mode` CSS property is added. They are vertical writing modes, and all letters are sideways.

  • Transferable RTC Data Channel
    TransferableRTCDataChannelchromestatus.com

    The RTCDataChannel interface is part of the WebRTC standard, and represents a network channel which can be used for bidirectional peer-to-peer transfers of arbitrary data. This feature tracks exposing RTCDataChannel in dedicated workers, and allowing the transfer of RTCDataChannels to them workers. This will help reduce main thread contention and lead to smoother and more reliable WebRTC applications.

  • New features in Chromium 129 with missing description
    Canvas Place Element
    CanvasPlaceElement
    CSS Pseudo Scroll Buttons
    CSSPseudoScrollButtons
    Event Timing Handle Keyboard Event Simulated Click
    EventTimingHandleKeyboardEventSimulatedClick
    Event Timing Tap Stop Scroll No Interaction Id
    EventTimingTapStopScrollNoInteractionId
    Nested View Transition
    NestedViewTransition
    Partitioned Popins
    PartitionedPopins
    Pointer Event Targets In Event Lists
    PointerEventTargetsInEventLists
    Pseudo Elements Focusable
    PseudoElementsFocusable
    Shape Outside Writing Mode Fix
    ShapeOutsideWritingModeFix
    Web Authentication Attestation Formats
    WebAuthenticationAttestationFormats

Added in Chromium 128 Polypane 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

  • Page Margin Boxes
    PageMarginBoxeschromestatus.com

    Add support for page margin boxes, when printing a web document, or exporting it as PDF. @page margin boxes allows an author to define the contents in the margin area of a page, for instance to provide custom headers and footers, rather than using the built-in headers and footers generated by the browser. A margin box is defined via an at-rule inside a CSS @page rule. There are 16 rules defined, one for each page margin box. There's one margin box for each of the 4 corners on the page, and three (start, middle, end) for each of the 4 sides. The appearance and the contents of a margin box are specified with CSS properties inside the at-rule, including the "content" property. Counters are also to be supported, for page numbering. The specification defines two special counter names: "page" for the current page number, and "pages" for the total number of pages.

  • Select Parser Relaxation
    SelectParserRelaxationchromestatus.com

    This change makes the HTML parser allow additional tags in <select> besides <option>, <optgroup>, and <hr>. This change is in support of the customizable <select> feature but is being shipped first because it can be done separately and has some compat risk which I'd like to get feedback on. This feature is gated by the temporary policy (SelectParserRelaxationEnabled). This is a temporary transition period, and the policy will stop working on milestone M136 Customizable select explainer: https://open-ui.org/components/customizableselect/ I did a compat analysis and determined that the vast majority of sites which would see the effects of the parser changes would not have their behavior changed. More details here: https://github.com/whatwg/html/issues/10310 If there are major issues with this change, I will reassess and make adjustments to the parser as needed.

  • 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
    Report Event Timing At Visibility Change
    ReportEventTimingAtVisibilityChange
    Selection Across Shadow DOM
    SelectionAcrossShadowDOM
    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.

  • Audio Context Playout Stats
    AudioContextPlayoutStatschromestatus.com

    The AudioContext.playoutStats API allows an application to measure the quality and latency of audio playout using WebAudio.

  • Credential Manager Report
    CredentialManagerReportchromestatus.com

    Allow WebAuthn relying parties to report information about existing credentials back to credential storage providers, so that incorrect or revoked credentials can be updated or removed from provider and system UI. https://github.com/w3c/webauthn/wiki/Explainer:-WebAuthn-Signal-API-explainer

  • 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
    Canvas2d G P U Transfer
    Canvas2dGPUTransfer
    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

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