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 144 current

  • Cookie Store API Max Age
    CookieStoreAPIMaxAgechromestatus.com

    Allows callers to specify a `maxAge` when setting a cookie with the Cookie Store API. Cookie expiry time is already configurable using the `expires` attribute, but `maxAge` provides a more idiomatic option and aligns the Cookie Store API with the options provided by `document.cookie` and the `Set-Cookie` HTTP Header.

  • Emoji Monochrome Rendering
    EmojiMonochromeRenderingchromestatus.com

    This change updates Chromium’s emoji rendering behavior in Forced Colors Mode. During computed-value resolution, emoji whose font-variant-emoji value computes to normal or unicode are rendered using their monochrome glyphs when available. Chromium will therefore suppress color emoji rendering, which ensures emojis fully participate in the Forced Colors Mode pipeline and respect system high-contrast colors. Behavior outside forced colors mode is unchanged.

  • Prerender Until Script
    PrerenderUntilScriptchromestatus.com

    This extends speculation rules to introduce a new action called prerender_until_script. It is designed as an intermediate option between the existing prefetch (which only fetches the main document) and prerender (which fully renders the page and runs all scripts). This new action will fetch and parse a page, discover and download its subresources like images and stylesheets, but will pause all script execution. When the user navigates to the page, it activates, and all the deferred scripts are then executed in order. This allows for a near-instant page load for content-heavy sites without the performance cost or side effects of running analytics or third-party scripts prematurely.

  • User Media Element
    UserMediaElementchromestatus.com

    Context-aware media element(s), are a declarative, user-activated control for accessing the starting and interacting with media streams. This addresses the long-standing problem of permission prompts being triggered directly from JavaScript without a strong signal of user intent. By embedding a browser-controlled element in the page, the user's click provides a clear, intentional signal. This enables a much better prompt UX and, crucially, provides a simple recovery path for users who have previously denied the permission. Note: This feature was previously developed and tested in an Origin Trial as the more generic <permission> element. Based on feedback from developers and other browser vendors, it has evolved into capability-specific elements to provide a more tailored and powerful developer experience.

New features in Chromium 144 without description
  • Cache Control RFC7234 Parsing
    CacheControlRFC7234Parsing
    Cache Control RFC7234 Parsing Metrics
    CacheControlRFC7234ParsingMetrics
    CSS Counter Reset Reversed
    CSSCounterResetReversed
    CSS List Counter Accounting
    CSSListCounterAccounting
    Declarative CSS Modules
    DeclarativeCSSModules
    Gamepad Raw Input Change Event
    GamepadRawInputChangeEvent
    Hsts Top Level Navigations Only
    HstsTopLevelNavigationsOnly
    HTML Command For Scroll Commands
    HTMLCommandForScrollCommands
    Install Element
    InstallElement
    Prerender Activation By Form Submission
    PrerenderActivationByFormSubmission
    Responsive Iframes
    ResponsiveIframes
    Scroll Timeline Named Range Scroll
    ScrollTimelineNamedRangeScroll
    Smaller Viewport Units
    SmallerViewportUnits
    Svg Partition SVG Document Resources In Memory Cache
    SvgPartitionSVGDocumentResourcesInMemoryCache
    Web Authentication Ui Mode
    WebAuthenticationUiMode
    WebGPU Immediates Feature
    WebGPUImmediatesFeature

Added in Chromium 143

  • Canvas Tone Mapping
    CanvasToneMappingchromestatus.com

    Add a CanvasToneMapping member to CanvasRenderingContext2DSettings, allowing a 2D context to specify tone mapping.

  • Color Space Display P3 Linear
    ColorSpaceDisplayP3Linearchromestatus.com

    Add display-p3-linear CSS color space

  • CSS Scrolled Container Queries
    CSSScrolledContainerQuerieschromestatus.com

    Allows authors to style descendants of containers based on the most recent scrolling direction. Example: .scrolling-up { translate: 80px 0; transition: 0.4s translate; } html { container-type: scroll-state; } @container scroll-state(scrolled: top) { .scrolling-up { translate: 0 0; } }

  • Report Layout Shift Rects In Css Pixels
    ReportLayoutShiftRectsInCssPixelschromestatus.com

    This feature changes the attribution data (prevRect and currentRect) in the [LayoutShift API](https://wicg.github.io/layout-instability/) to be reported in CSS pixels instead of physical pixels. The current behavior is inconsistent with other layout-related APIs, which all use CSS pixels. This change improves consistency, simplifies usage for developers, and aligns with expected units in debugging and tooling.

  • Svg Anchor Element Attributes
    SvgAnchorElementAttributeschromestatus.com

    Adds support for ping, hreflang, type, and referrerPolicy attributes on SVGAElement, aligning its behavior with HTMLAnchorElement for consistent link handling across HTML and SVG.

  • Trusted Types HTML
    TrustedTypesHTMLchromestatus.com

    Trusted Types (https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API) was originally implemented and launched in Chromium in 2019, and has since found use in numerous websites. It has recently gained interest from other browser vendors. The Trusted Type spec was co-written as a "monkey patch" spec along with our original implementation. It now receives fresh attention as others are trying to implement the same spec. It has now been "upstreamed" into HTML + DOM (plus a bit of CSP). As part of that process, various inconsistencies are being identified and fixed. Some of these fixes may be developer observable. This intent is to update our implementation to match the spec, as it's upstreamed into HTML. Meanwhile, WebKit has launched their implementation of the updated Trusted Types spec, which gives us high confidence that this update is highly web compatible.

  • View Transition Wait Until
    ViewTransitionWaitUntilchromestatus.com

    The ViewTransition automatically constructs a pseudo-element tree to display and animate participating elements in the transition. Per spec, this subtree is constructed when the view transition starts animating and is destroyed when the animations associated with all view transition pseudo-elements are in the finished state (or more precisely in a non-running non-paused state). This works for a vast majority of cases and provides a seamless experience for the developers. However, for more advanced cases, this is insufficient as there are times when developers want the view transition pseudo-tree to persist beyond the animation finish state. One example is tying view transitions with Scroll Driven Animations. When the animation is controlled by a scroll timeline, we don't want the subtree to be destroyed when the animations finish since scrolling back should still be able to animate the pseudo elements. In order to enable advanced uses of view transition, this intent adds a waitUntil() function on the ViewTransition object which takes a promise. This promise then delays destruction of the pseudo-tree until it is settled.

  • Web Identity Digital Credentials Creation
    WebIdentityDigitalCredentialsCreationchromestatus.com

    This Web Platform feature enables issuing websites (e.g., a university, government agency, or bank) to securely initiate the provisioning (issuance) process of digital credentials directly into a user's mobile wallet application. On Android, this capability leverages the Android IdentityCredential CredMan system (Credential Manager). On Desktop, it leverages cross-device approaches using the CTAP protocol similar to Digital Credentials presentation.

  • WebMCP

    WebMCP is a proposal for a web API that enables web pages to provide agent-specific paths in their UI. With WebMCP, agent-service interaction takes place via app-controlled UI, providing a shared context available to app, agent, and user.

  • WebXR Visibility Mask
    WebXRVisibilityMaskchromestatus.com

    Adds an XRVisibilityMaskChange event that will provide a list of vertices and a list of indices to represent the mesh of the visible portion of the user's viewport. This data can then be used to confidently limit the amount of the viewport drawn to in order to improve performance. To better support this event, XRView's are also given unique identifiers to allow easier pairing with the associated masks. This is an extension to the core WebXR specification.

New features in Chromium 143 without description
  • Appearance Base
    AppearanceBase
    Color Space Predefined Linear Spaces
    ColorSpacePredefinedLinearSpaces
    Cpu Performance
    CpuPerformance
    CSS Grid Gap Suppression
    CSSGridGapSuppression
    CSS Inherit Function
    CSSInheritFunction
    CSS Text Transform Full Width
    CSSTextTransformFullWidth
    Entropy Ignored For First Video Frame LCP
    EntropyIgnoredForFirstVideoFrameLCP
    Event Pseudo Target Property
    EventPseudoTargetProperty
    Event Timing Target Selector
    EventTimingTargetSelector
    Event Trigger
    EventTrigger
    Light Dismiss From Click
    LightDismissFromClick
    Menu Elements
    MenuElements
    Selection And Focused Visible Position Match
    SelectionAndFocusedVisiblePositionMatch
    Selection Remove Range Not Found Error
    SelectionRemoveRangeNotFoundError
    Timeline Trigger
    TimelineTrigger
    WebMCP Testing
    WebMCPTesting

Added in Chromium 142 Polypane 27.1

  • Access Key Label
    AccessKeyLabelchromestatus.com

    The HTMLElement.accessKeyLabel read-only property returns a human-readable string representing the actual keyboard shortcut assigned to the element by the browser, based on the user’s platform and browser. If no access key is assigned, it returns an empty string.

  • CSS Container Name Not Tree Scoped
    CSSContainerNameNotTreeScopedchromestatus.com

    Ignore tree-scope when matching container-name for @container queries. Previously, container-name matching for container queries used tree-scoped names/references for matching, which meant the same name would not match if the @container rule and the container-type property were originating from different trees such that that container-type declaration came from an inner shadow tree. With this change container names match regardless of @container rule or container-type declaration origins.

  • CSS Ruby Overhang
    CSSRubyOverhangchromestatus.com

    Support of new CSS property `ruby-overhang` is added. The property accepts one of `auto` and `none` keywords, and controls overhang of ruby annotation text.

  • Font Language Override
    FontLanguageOverridechromestatus.com

    This feature introduces support for the font-language-override CSS property in Chromium. The property allows developers to override the system language used for OpenType glyph substitution by specifying a four-character language tag directly in CSS. This enables fine-grained typographic control, particularly useful for multilingual content or fonts with language-specific glyph variants.

  • Module Preload Referrer
    ModulePreloadReferrerchromestatus.com

    Modulepreload and dynamic imports now correctly send the page’s referrer header when fetching scripts, aligning Chrome with the HTML specification.

  • Navigation Transition Destination
    NavigationTransitionDestinationchromestatus.com

    Currently NavigationTransition has a "from" property, exposing the old URL of the navigation. Exposing "to" (a NavigationDestination) completes this. It is especially useful when using precommit handlers, as during precommit the current URL has not yet switched to the destination. Note that navigation.transition is only exposed for intercepted navigations - which means same-origin document-initiated navigations.

  • Width And Height As Presentation Attributes On Nested Svg
    WidthAndHeightAsPresentationAttributesOnNestedSvgchromestatus.com

    This feature supports applying width and height as presentation attributes on nested <svg> elements through both SVG markup and CSS. This dual approach provides even greater flexibility for developers, allowing them to manage and style SVG elements more efficiently within complex designs. With this feature the below two html will now have the same output: With CSS Properties for nested <svg> element: <svg width="100px" height="100px"> <svg style="width:50px;height:50px;"> <circle cx="50px" cy="50px" r="40px" fill="green" /> </svg> </svg> Without CSS Properties for nested <svg> element: <svg width="100px" height="100px"> <svg width="50px" height="50px"> <circle cx="50px" cy="50px" r="40px" fill="green" /> </svg> </svg>

New features in Chromium 142 without description
  • Decouple Resolved Column Rule Width From Style
    DecoupleResolvedColumnRuleWidthFromStyle
    Document Policy Network Efficiency Guardrails
    DocumentPolicyNetworkEfficiencyGuardrails
    Focusgroup Grid
    FocusgroupGrid
    Originating Element Is Implicit Anchor
    OriginatingElementIsImplicitAnchor
    Side Relative Background Position
    SideRelativeBackgroundPosition
    Svg Enable Text Decoration Css Styling
    SvgEnableTextDecorationCssStyling
    Svg Fall Back To Container Size
    SvgFallBackToContainerSize
    Svg Sizing With Preserve Aspect Ratio None
    SvgSizingWithPreserveAspectRatioNone

Added in Chromium 141

  • CSS Scroll Marker Target Before After
    CSSScrollMarkerTargetBeforeAfterchromestatus.com

    These pseudo-classes match scroll markers that are, respectively, before or after the active marker (the one matching :target-current) within the same scroll marker group, as determined by flat tree order: * :target-before matches all scroll markers that precede the active marker in the flat tree order within the group. * :target-after matches all scroll markers that follow the active marker in the flat tree order within the group.

  • Decouple Computed Border Width From Style
    DecoupleComputedBorderWidthFromStylechromestatus.com

    This proposal untangles ‘border-width’, ‘outline-width’, and ‘column-rule-width’ from their corresponding ‘*-style’ properties. Previously, if a ‘*-style’ property, such as ‘border-style’, was set to ‘none’ or ‘hidden’, the computed ‘*-width’, such as ‘border-width’, would resolve to ‘0px’, even if the width was explicitly set to ‘10px’. Following a resolution in the CSSWG [1], the computed values of ‘border-width’, ‘outline-width’, and ‘column-rule-width’ will now reflect their specified values, regardless of the associated style property's value. Similarly, the resolved values of ‘outline-width’, and ‘column-rule-width’ will now reflect their specified values, regardless of the associated style property's value. [1]: https://github.com/w3c/csswg-drafts/issues/11494#issuecomment-2675800489

  • Document Active View Transition
    DocumentActiveViewTransitionchromestatus.com

    View Transitions API allows developers to start visual transitions between different states. The primary SPA entry point to this is `startViewTransition()` which returns a transition object. This object contains several promises and functionality to track the transition progress, as well as allow manipulations such as skipping the transition or modifying its types. The proposal here is ergonomic in nature: instead of requiring that users store this object in some sort of way for easy access, provide a `document.activeViewTransition` property that represents this object, or null if there is no transition ongoing. Note this similarly applies to MPA transitions, where the object is only available via `pageswap` and `pagereveal` events. In this proposal `document.activeViewTransition` would be set to this object for the duration of the transition.

  • Select Mobile Desktop Parity
    SelectMobileDesktopParitychromestatus.com

    By using the size and multiple attributes, the select element can be rendered as an in-page listbox or a button with a popup. However, these modes are not consistently available across mobile and desktop chrome. Currently, in-page listbox rendering is not available on mobile, and button with popup is not available on desktop when the multiple attribute is present. This feature adds the listbox to mobile and adds a multi-select popup to desktop, and makes the opt-ins with the size and multiple attributes result in the same rendering mode across mobile and desktop. Here is a summary of the changes: - When the size attribute has a value greater than 1, in-page rendering will always be used. Previously, this was ignored on mobile. - When the multiple attribute is set with no size attribute, in-page rendering will be used. Previously, this was a popup instead of an in-page listbox on mobile. - When the multiple attribute is set with size=1, a popup will be used. Previously, this was an in-page listbox on desktop. By making this change, we are providing a foundation to bring customizable select to in-page rendering and multi-select. Customizable select currently only works for single-selects with a popup.

  • Svg Anchor Element Download Attribute
    SvgAnchorElementDownloadAttributechromestatus.com

    This feature introduces support for the download attribute on the SVGAElement interface in Chromium, aligning with the SVG 2 specification. The download attribute enables authors to specify that the target of an SVG hyperlink should be downloaded rather than navigated to, mirroring the behavior already supported in HTMLAnchorElement. This enhancement promotes interoperability across major browsers and ensures consistent behavior between HTML and SVG link elements, thereby improving developer experience and user expectations.

  • Web Transport Application Protocol
    WebTransportApplicationProtocolchromestatus.com

    WebTransport Application Protocol Negotiation allows negotiation of the protocol used by the web application within the WebTransport handshake. A web application can specify a list of application protocols offered when constructing a WebTransport object, which are then conveyed to the server via HTTP headers; if the server picks one of those protocols, it can indicate that within response headers, and that reply is available within the WebTransport object.

New features in Chromium 141 without description
  • Blob Bytes
    BlobBytes
    Color Space Rec2100 Linear
    ColorSpaceRec2100Linear
    CSP Hashes V1
    CSPHashesV1
    CSS Lang Extended Ranges
    CSSLangExtendedRanges
    CSS Revert Rule
    CSSRevertRule
    CSS Scroll Target Group Aria Current
    CSSScrollTargetGroupAriaCurrent
    CSS Text Align Match Parent
    CSSTextAlignMatchParent
    Device Bound Session Credentials2
    DeviceBoundSessionCredentials2
    HTML Command Action Toggle Interest
    HTMLCommandActionToggleInterest
    HTML Interest For Interest Hint Pseudo
    HTMLInterestForInterestHintPseudo
    Script Tools
    ScriptTools
    Selection Set Base And Extent Non Null Node
    SelectionSetBaseAndExtentNonNullNode
    Soft Navigation Detection Pre Paint Based Attribution
    SoftNavigationDetectionPrePaintBasedAttribution
    SVG Embedded As Replaced Element
    SVGEmbeddedAsReplacedElement
    Web Assembly Custom Descriptors
    WebAssemblyCustomDescriptors

Build your next project with Polypane

  • Use all features on all plans
  • On Mac, Windows and Linux
  • 14-day free trial – no credit card needed
Start Your Free Trial
Polypane UI