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 132 currentPolypane 23

  • Clipboard Item With DOM String Support
    ClipboardItemWithDOMStringSupportchromestatus.com

    The ClipboardItem, which is the input to the async clipboard write method, now accepts string values in addition to Blobs in its constructor. ClipboardItemData can be a Blob, a string, or a Promise that resolves to either a Blob or a string.

  • CSS Nested Pseudo Elements
    CSSNestedPseudoElementschromestatus.com

    Allows to style pseudo elements that are nested inside other pseudo elements. So far, support is defined for: ::before::marker ::after::marker With ::column::scroll-marker being supported in the future.

  • Document Isolation Policy
    DocumentIsolationPolicychromestatus.com

    Document-Isolation-Policy allows a document to enable crossOriginIsolation for itself, without having to deploy COOP or COEP, and regardless of the crossOriginIsolation status of the page. The policy is backed by process isolation. Additionally, the document non-CORS cross-origin subresources will either be loaded without credentials or will need to have a CORP header.

  • HTML Dialog Light Dismiss
    HTMLDialogLightDismisschromestatus.com

    One of the nice features of the Popover API is its light dismiss behavior. This chromestatus is about bringing that same capability to `<dialog>`. A new `closedby` attribute controls behavior: `<dialog closedby=none>` - no user-triggered closing of dialogs at all. `<dialog closedby=closerequest>` - user pressing ESC (or other close trigger) closes the dialog `<dialog closedby=any>` - user clicking outside the dialog, or pressing ESC, closes the dialog. Akin to `popover=auto` behavior.

  • Indexed Db Get All Records
    IndexedDbGetAllRecordschromestatus.com

    getAllRecords() combines getAllKeys() with getAll() to enumerate both primary keys and values at the same time. For an IDBIndex, getAllRecords() also provides the record's index key in addition to the primary key and value. Lastly, getAllRecords() offers a new direction option to enumerate records sorted by key in descending order. This proposal adds getAllRecords() to both IDBObjectStore and IDBIndex. getAllRecords() creates a new IDBRequest that queries its IDBObjectStore or IDBIndex owner. The IDBRequest completes with an array of IDBRecord results. Each IDBRecord contains the key, primaryKey and value attributes. For IDBIndex, key is the record's index key. For IDBObjectStore, both key and primaryKey return the same value. The pre-existing IDBCursorWithValue interface contains the same attributes and values for both IDBObjectStore and IDBIndex. However, unlike getAllRecords(), a cursor may only read one record at a time.

  • Layout Stretch
    LayoutStretchchromestatus.com

    A keyword for CSS sizing properties (e.g. 'width', 'height') that allows elements to grow to exactly fill their containing block's available space. It is similar to '100%', except the resulting size is applied to the element's margin box instead of the box indicated by 'box-sizing'. Using this keyword allows the element to keep its margins while still being as large as possible. An unprefixed version of '-webkit-fill-available'.

  • Multiple Import Maps
    MultipleImportMapschromestatus.com

    Import maps currently have to load before any ES module and there can only be a single import map per document. That makes them fragile and potentially slow to use in real-life scenarios: Any module that loads before them breaks the entire app, and in apps with many modules the become a large blocking resource, as the entire map for all possible modules needs to load first. This feature is to enable multiple import maps per document, by merging them in a consistent and deterministic way.

  • Resource Timing Final Response Headers Start
    ResourceTimingFinalResponseHeadersStartchromestatus.com

    Resource timing: - responseStart returns the first response, either early hints (interim) or final - Expose the final response headers (2xx/4xx/5xx) time as finalResponseHeadersStart.

  • Selection On Shadow DOM With Delegates Focus
    SelectionOnShadowDOMWithDelegatesFocuschromestatus.com

    A shadow host with delegatesFocus set to true will delegate its focus to its first focusable child. On a mouse click event, the child will receive focus and the event will be marked as handled. No further event dispatching is done. This is a problem because the steps to handle text selection afterward are not ran and the selection does not recognize the focused element as part of the selection. We fix this by continuing event handling even after an element was delegate focused and update how selection recognizes having focus in a shadow tree.

  • New features in Chromium 132 with missing description
    Allow Preloading With C S P Meta Tag
    AllowPreloadingWithCSPMetaTag
    AOM Aria Relationship Properties Aria Owns
    AOMAriaRelationshipPropertiesAriaOwns
    Aria Actions
    AriaActions
    CSS Inert
    CSSInert
    CSS Overflow Container Queries
    CSSOverflowContainerQueries
    CSS Supports At Rule Function
    CSSSupportsAtRuleFunction
    Event Timing Selection Auto Scroll No Interaction Id
    EventTimingSelectionAutoScrollNoInteractionId
    Java Script Compile Hints Magic Always Runtime
    JavaScriptCompileHintsMagicAlwaysRuntime
    Performance Navigation Timing Confidence
    PerformanceNavigationTimingConfidence
    Selectedcontentelement Attribute
    SelectedcontentelementAttribute
    Timestamp Based C L S Tracking
    TimestampBasedCLSTracking
    Video Frame Metadata Background Blur
    VideoFrameMetadataBackgroundBlur
    Web XR G P U Binding
    WebXRGPUBinding
    Web XR Layers Common
    WebXRLayersCommon

Added in Chromium 131

  • Animation Progress API
    AnimationProgressAPIchromestatus.com

    Adds an "overallProgress" property to the JavaScript class Animation[1]. This property provides authors with a convenient and consistent representation of how far along an animation has advanced across its iterations and regardless of the nature of its timeline[2]. [1] https://developer.mozilla.org/en-US/docs/Web/API/Animation [2] https://developer.mozilla.org/en-US/docs/Web/API/AnimationTimeline

  • CSS Anchor Size Insets Margins
    CSSAnchorSizeInsetsMarginschromestatus.com

    Allow anchor-size() values for inset and margin properties. Originally, anchor-size() was only allowed in sizing properties. The specification was changed to allow anchor-size() in insets and margins as well.

  • Customizable Select
    CustomizableSelectchromestatus.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.

  • Dialog Element Toggle Events
    DialogElementToggleEventschromestatus.com

    It is useful for web authors do determine when their <dialog> elements open and close. popover already has `ToggleEvent` which is dispatched when a popover opens or closes, but <dialog> does not. The current way to detect when a <dialog> opens is to register a mutation observer to check for open, however, this is quite a lot of work where an event would be easier. This change incorporates the same `ToggleEvent`s that popovers dispatch, but for `<dialog>` elements: when `showModal` or `show` is called, <dialog> dispatches a ToggleEvent with newState=open. When a dialog is closed (via form or button or closewatcher) it should dispatch a ToggleEvent with newState=closed.

  • Fetch Body Bytes
    FetchBodyByteschromestatus.com

    Add a bytes() method to the Request and Response interfaces, which returns a promise that resolves with a Uint8Array. While Request and Response have an arrayBuffer() method, we can't read directly from a buffer. We have to create a view such as a Uint8Array to read it. The bytes() method improves the ergonomics of getting the body of Request and Response.

  • Shadow Root Reference Target
    ShadowRootReferenceTargetchromestatus.com

    Reference Target is a feature to enable using IDREF attributes such as `for` and `aria-labelledby` to refer to elements inside a component's shadow DOM, while maintaining encapsulation of the internal details of the shadow DOM. The main goal of this feature is to enable ARIA to work across shadow root boundaries. A component can specify an element in its shadow tree to act as its "reference target". When the host component is the target of a IDREF like a label's `for` attribute, the reference target becomes the effective target of the label. The shadow root specifies the ID of the target element inside the shadow DOM. This is done either in JavaScript with the `referenceTarget` attribute on the `ShadowRoot` object, or in HTML markup using the `shadowrootreferencetarget` attribute on the `<template>` element.

  • New features in Chromium 131 with missing description
    CSS Accent Color Keyword
    CSSAccentColorKeyword
    CSS Pseudo Has Slotted
    CSSPseudoHasSlotted
    CSS View Transition Auto Name
    CSSViewTransitionAutoName
    Fontations Font Backend
    FontationsFontBackend
    View Transition Layered Capture
    ViewTransitionLayeredCapture
    Web Authentication Ambient
    WebAuthenticationAmbient
    Web Codecs Orientation
    WebCodecsOrientation

Added in Chromium 130 Polypane 22.1.1

  • 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

  • Popover Anchor Relationships
    PopoverAnchorRelationshipschromestatus.com

    This chromestatus represents the following related set of changes, which were resolved in https://github.com/whatwg/html/pull/9144#issuecomment-2195095228 and landed in https://github.com/whatwg/html/pull/10728: 1. add an imperative way to set invoker relationships between popovers: popover.showPopover({source}) 2. invoker relationships create implicit anchor element references.

  • 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
    Storage Access Header
    StorageAccessHeader
    System Fallback Emoji V S Support
    SystemFallbackEmojiVSSupport
    Web App Installation
    WebAppInstallation

Added in Chromium 129

  • CSS Pseudo Scroll Buttons
    CSSPseudoScrollButtonschromestatus.com

    Allow the creation of interactive scroll buttons as pseudo-elements, e.g. .scroller { overflow: auto; } .scroller::scroll-button(inline-start) { content: "<"; } .scroller::scroll-button(inline-end) { content: ">"; } These should be focusable, behaving as a button (including their UA styles). When activated, a scroll should be performed in the direction by some amount. When it is not possible to scroll in that direction, they should be disabled (and styled via :disabled), otherwise they are enabled (and styled via :enabled). Selector allows to define buttons in four logical directions: block-start, block-end, inline-start, inline-end; as well as four physical directions: up, down, left, right.

  • 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
    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

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