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.

Chromium 138 currentPolypane 25.1.1

  • Audio Context Playout Stats
    AudioContextPlayoutStatschromestatus.com

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

  • Boundary Event Dispatch Tracks Node Removal
    BoundaryEventDispatchTracksNodeRemovalchromestatus.com

    After an event target gets removed from the DOM, the logical target of the pointer as implied by the Pointer and Mouse boundary events (i.e. over, out, enter and leave events) should be the nearest ancestor still attached to the DOM. PEWG has recently reached consensus on this behavior, see https://github.com/web-platform-tests/interop/issues/380. Chrome has been keeping track of a node even after it gets removed from DOM. As a result, if the pointer moves to a new node B after the hit-test node A is removed from DOM, the boundary event sequence (pointerover, pointerout, pointerenter, pointerleave events and the corresponding mouse events) used to imply a pointer movement from A to B. As per the new consensus, the event sequence should imply a pointer movement from the "parent of A" to B.

  • Canvas Text Ng
    CanvasTextNgchromestatus.com

    This is not a web-exposed change. The implementation of CanvasRenderingContext2D's measureText(), fillText(), and strokeText() has a drastic change. This might affect performance, so we'd like to run an origin trial so canvas-heavy applications can try out the new implementation.

  • Capability Delegation Display Capture Request
    CapabilityDelegationDisplayCaptureRequestchromestatus.com

    This feature is based on the general delegation mechanism (https://chromestatus.com/feature/5708770829139968) shipped on M100. Display-Capture Capability Delegation allows a Window to transfer the ability to call navigator.mediaDevices.getDisplayMedia() to another Window it trusts after relinquishing the transient user activation at the sender Window.

  • Container Timing
    ContainerTimingchromestatus.com

    The Container Timing API enables monitoring when annotated sections of the DOM are displayed on screen and have finished their initial paint. A developer will have the ability to mark subsections of the DOM with the containertiming attribute (similar to elementtiming for the Element Timing API) and receive performance entries when that section has been painted for the first time. This API will allow developers to measure the timing of various components in their pages.

  • Context Menu

    Change “click”, “contextmenu”, “auxclick” events to PointerEvent (instead of MouseEvent) to let developers: distinguish between mouse, pen and individual fingers in a multitouch interaction through pointerType and pointerId attributes, and utilize fractional event coordinates for high precision use cases.

  • Controlled Frame
    ControlledFramechromestatus.com

    Adds a Controlled Frame API available only to Isolated Web Apps (IWAs). This work adds 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 Alt Counter
    CSSAltCounterchromestatus.com

    counter() and counters() in alt text of 'content' property is useful to provide more meaningful information to e.g. pseudo elements to improve their accessibility.

  • CSS Caret Animation
    CSSCaretAnimationchromestatus.com

    Chromium supports animation of the caret-color property, but when animated the default blinking behavior of the caret interferes with the animation. For instance, see the example at https://drafts.csswg.org/css-ui/#caret-animation where an animation from blue to red and back is rendered as a blinking cursor that is randomly blue or red. The CSS caret-animation property has two possible values: auto and manual, where auto means browser default (blinking) and manual means the page author is controlling the caret animation. In addition, via a user stylesheet, it allows users who are disturbed by or have adverse reactions to blinking or flashing visuals to disable the blinking.

  • CSS Corner Shape
    CSSCornerShapechromestatus.com

    Enable styling corners, on top of the existing border-radius, by expressing the shape/curvature of the corner as a superellipse. This allows shapes like squircles, notches, scoops etc., and animating between them.

  • CSS Fallback Container Queries
    CSSFallbackContainerQuerieschromestatus.com

    Introduce @container anchored(fallback) to style descendants of anchor positioned elements based on which of position-try-fallbacks is applied. Such queries can be used to e.g. style an anchored element's tether, its animations, etc. based on how the anchor and the anchored element are positioned relative to each other. Example: #anchored { position-try-options: flip-block; container-type: anchored; } @container anchored(fallback: flip-block) { #anchored { --arrow-rotation: 180deg; } }

  • CSS Functions
    CSSFunctionschromestatus.com

    Custom Functions are similar to custom properties, but instead of returning a single, fixed value, they return values based on other custom properties, parameters, and conditionals.

  • CSS Short Circuit Var Attr
    CSSShortCircuitVarAttrchromestatus.com

    When the fallback is not taken, var()/attr() functions evaluate without looking for cycles in that fallback.

  • CSS Text Auto Space
    CSSTextAutoSpacechromestatus.com

    Inserts small spacings to match the established typographic rules automatically. The spec currently defines one rule for Han ideographic characters and one for French. The initial implementation focuses on the Han ideographic characters rule. Text written in Han ideographic writing systems often mixes multiple scripts, usually the Han ideographic scripts, Latin scripts, and ASCII digits. Small spacings when switching from and to non-Han ideographic scripts often help the readability. This property lets browsers insert such spacings automatically. This property has several values, including values for other writing systems. The initial implementation supports `normal` and `no-autospace`. The initial value is set to `no-autospace` to start conservatively and be more careful for the site compatibilities. Authors can add `text-autospace: normal` to enable the feature.

  • CSS View Transition Auto Name
    CSSViewTransitionAutoNamechromestatus.com

    Contact emails vmpstr@chromium.org, nrosenthal@chromium.org Explainer None Specification https://drafts.csswg.org/css-view-transitions-2/#auto-vt-name Summary 'auto' uses the element's id attribute to generate a unique match for view transition cases. In absence of the id, it generates a unique id based on the element's identity and remains the same for this element. This is used in Single Page App or Multi Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

  • Device Orientation Request Permission
    DeviceOrientationRequestPermissionchromestatus.com

    Allows developers to ask for permission to use the Device Orientation and Device Motion APIs. Access to these APIs is currently granted by default, and these new functions are part of the long-term plan to require requesting permission before using window.ondevicemotion and window.ondeviceorientation.

  • Dialog New Focus Behavior
    DialogNewFocusBehaviorchromestatus.com

    Some changes are being made to which element is selected to get focus when a dialog element is opened: 1. Make the dialog focusing steps look at keyboard focusable elements instead of any focusable element. 2. Make the dialog element itself get focus if it has the autofocus attribute set. 3. Make the dialog element itself get focus as a fallback instead of focus being "reset" to the body element.

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

  • Escape Lt Gt In Attributes
    EscapeLtGtInAttributeschromestatus.com

    Escape "<" and ">" in values of attributes on serialization. This mitigates the risk of mutation XSS attacks, which occur when value of an attribute is interpreted as a start tag token after being serialized and re-parsed.

  • Extended Text Metrics
    ExtendedTextMetricschromestatus.com

    Expand the TextMetrics Canvas API to support selection rectangles, bounding box queries, and grapheme cluster-based operations. This new functionality should enable complex text editing applications with accurate selection, caret positioning, and hit testing. Additionally, cluster-based rendering facilitates sophisticated text effects such as independent character animations and styling.

  • Face Detector
    FaceDetectorchromestatus.com

    The Face Detection API is a subset of the Shape Detection API which provides the ability to detect human faces and facial landmarks in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • Fetch Retry

    Allow web developers to indicate that a fetch() request should be retried, to have a greater guarantee on it being reliably sent, even if network is flaky. This is especially important for keepalive fetches, where the request might outlive the document, which can no longer watch for its failure and do manual retry. We intend to only support this for keepalive fetches for now because of implementation simplicity, and also the fact that all the use cases would benefit from being keepalive first.

  • File System Access API Experimental
    FileSystemAccessAPIExperimentalchromestatus.com

    Currently, the File System Access API does not support an efficient way to move or rename files or directories. This requires creating a new file/directory, copying over data (recursively, in the case of a directory), and removing the original. This process is slow, error prone (e.g. disk full), and can require re-uploading files in some cases. See https://github.com/WICG/file-system-access/pull/317

  • Focusgroup

    The Focusgroup feature will facilitate keyboard focus navigation using the keyboard arrow keys among a set of focusable elements.

  • Gamepad Multitouch
    GamepadMultitouchchromestatus.com

    Extend the Gamepad API to support multitouch surfaces (touchpads). Providing a touchpad API eases application implementation and provides greater functionality browser interoperability.

  • Heading Offset
    HeadingOffsetchromestatus.com

    A system for creating structured headings within a document. The `headingoffset=` attribute can be added to elements that influences the child `h1`-`h6` elements' heading levels, for example a `headingoffset=1` will mean all `h1` elements will have an effective heading level of 2, and so on. In addition the `:heading` pseudo class will select all headings (tags of `h1` to `h6`) and the `:heading(N)` pseudo class will select headings with an _effective_ level of `N`. This allows for documents with different heading structures (for example user generated content) to be combined to create a well defined heading structure without significantly altering the underlying documents.

  • HTML Command Request Close
    HTMLCommandRequestClosechromestatus.com

    Dialog elements can be closed through a variety of mechanisms, sometimes developers want to have the ability to prevent closure. To achieve this dialogs fire a cancel event. Originally this was only fired via a close request (e.g. ESC key press), recently a `requestClose()` JS function was added which also fires the cancel event. The 'request-close' command brings that new ability to the declarative invoker commands API.

  • Indexed Db Get All Records
    IndexedDbGetAllRecordschromestatus.com

    This feature adds the getAllRecords() API to IndexedDB's IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality enables certain read patterns to be significantly faster when compared to the existing alternative of iteration with cursors. One key workload from a Microsoft property showed a 350ms improvement. getAllRecords() effectively combines getAllKeys() and getAll() by enumerating 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. getAllRecords() can optionally return records in either ascending or descending order. This option is also back-ported to the existing operations getAll() and getAllKeys().

  • Install On Device Speech Recognition
    InstallOnDeviceSpeechRecognitionchromestatus.com

    This feature adds on-device speech recognition support to the Web Speech API, allowing websites to ensure that neither audio nor transcribed speech are sent to a third-party service for processing. Websites can query the availability of on-device speech recognition for specific languages, prompt users to install the necessary resources for on-device speech recognition, and choose between on-device or cloud-based speech recognition as needed.

  • Inverted Colors
    InvertedColorschromestatus.com

    Adds the `inverted-colors` media feature, an indication that the user agent or underlying operating system has forcibly inverted all colors, not a request to do so. This is sometimes provided as a simple accessibility feature, allowing users to switch between light-on-dark and dark-on-light text. Valid options are 'inverted' or 'none'.

  • Media Capture Background Blur
    MediaCaptureBackgroundBlurchromestatus.com

    The Background Blur API allows web developers to use the native platform's API for camera background segmentation. As Background Blur has become one of the most used features on video conferencing apps like Teams, Meet, Zoom, and Webex, we want web apps to leverage the same platform APIs without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions.

  • Media Capture Voice Isolation
    MediaCaptureVoiceIsolationchromestatus.com

    This is about adding support in Chrome for the VoiceIsolation getUserMedia constraint (https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint). The constraint only takes effect on platforms where there is low-level support for voice-isolation style denoising. Currently this is limited to a selected number of ChromeOS devices, but further platforms will be added.

  • Media Source Extensions For Web Codecs
    MediaSourceExtensionsForWebCodecschromestatus.com

    Extends the Media Source Extensions API (MSE) to enable buffering containerless WebCodecs encoded media chunks with MSE for low-latency buffering and seekable playback.

  • Multicol Column Wrapping
    MulticolColumnWrappingchromestatus.com

    Add support for the `column-wrap` and `column-height` CSS properties, from multicol Level 2. https://drafts.csswg.org/css-multicol-2/#cwr https://drafts.csswg.org/css-multicol-2/#ch This allows for vertical column layout, or even 2D column layout. Columns can have an explicit constrained height, apart from being derived from the content-box height of the multicol container, and wrap to a new row of columns when all columns have been filled for one row, rather than creating overflowing columns in the inline direction.

  • Navigation Id
    NavigationIdchromestatus.com

    This adds a Performance Timeline entry type, "back-forward-cache-restoration", which is emitted every time that a page is retrieved from the back-forward cache, and a field on all performance timeline entries, "navigationId", which can be used to tie performance events to the most recent navigation-like event. This allows developers to more easily use the performance APIs to compare the user experience of an SPA or a bfcache-eligible page with that of a traditional multi-page experience.

  • Nested View Transition
    NestedViewTransitionchromestatus.com

    Allow view-transitions to generate a nested pseudo-element tree rather than a flat one. This allows the view transition to appear more in line with its original elements and visual intent, as it enables clipping, nested 3D transforms, and proper application of effects like opacity, masking and filters.

  • On Device Web Speech Available
    OnDeviceWebSpeechAvailablechromestatus.com

    This feature enables websites to support contextual biasing for speech recognition by adding a recognition phrase list to the Web Speech API. Developers can provide a list of phrases as well as updating them to apply a bias to the speech recognition models in favor of those phrases. This helps improve accuracy and relevance for domain-specific and personalized speech recognition.

  • Paint Timing Mixin
    PaintTimingMixinchromestatus.com

    Expose "paintTime" and "presentationTime" in event timing, element timing, LCP, long animation frames, paint timing. "paintTime" means the time when the rendering phase ended and the browser started the paint phase. "presentationTime" means the time when the "pixels reached the screen", which is somewhat implementation-defined

  • Payment App

    The API helps to develop new payment apps in web standard ways (e.g. service worker). If using them, payment app providers can provide simplified payment methods and user experiences.

  • Payment Link Detection
    PaymentLinkDetectionchromestatus.com

    Adds support for <link rel="facilitated-payment" href="..."> as a hint that the browser should notify registered payment clients about a pending push payment.

  • Payment Request
    PaymentRequestchromestatus.com

    To help developers reduce friction in Payment Request flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change.

  • Performance Navigation Timing Confidence
    PerformanceNavigationTimingConfidencechromestatus.com

    Web applications may suffer from bimodal distribution in page load performance, due to factors outside of the web application’s control. For example: * When a user agent first launches (a "cold start" scenario), it must perform many expensive initialization tasks that compete for resources on the system. * Browser extensions can affect the performance of a website. For instance, some extensions run additional code on every page you visit, which can increase CPU usage and result in slower response times. * When a machine is busy performing intensive tasks, it can lead to slower loading of web pages. In these scenarios, content the web app attempts to load will be in competition with other work happening on the system. This makes it difficult to detect if performance issues exist within web applications themselves, or because of external factors. Teams we have worked with have been surprised at the difference between real-world dashboard metrics and what they observe in page profiling tools. Without more information, it is challenging for developers to understand if (and when) their applications may be misbehaving or are simply being loaded in a contended period. A new ‘confidence’ field on the PerformanceNavigationTiming object will enable developers to discern if the navigation timings are representative for their web application.

  • Permission Element
    PermissionElementchromestatus.com

    Provide a new HTML element that interacts with the permission flow. The permission prompt is currently triggered directly from JS without the user agent having any strong signal of the user's intent. Having an in-content element that the user uses to trigger the permission flow allows for improved permission prompt UX for users as well as a recovery path from the "denied" permission state for sites. Explainer: https://github.com/WICG/PEPC/blob/main/explainer.md Instructions: https://github.com/WICG/PEPC/blob/main/HOWTO.md Developer facing documentation: https://developer.chrome.com/blog/permission-element-origin-trial

  • Preferred Audio Output Devices
    PreferredAudioOutputDeviceschromestatus.com

    This feature adds setDefaultSinkId() to MediaDevices, which enables the top-level frame to change the default audio output device used by its subframes.

  • Private Aggregation Api Error Reporting
    PrivateAggregationApiErrorReportingchromestatus.com

    There are a range of error conditions that can be hit when using the Private Aggregation API. For example, the privacy budget could run out, preventing any further histogram contributions. This feature allows developers to register histogram contributions that should only be sent if a particular type of error occurs. This feature supports measuring the frequency of the error conditions and to split these measurements on relevant developer-specified dimensions (e.g. version of deployed code). As the errors themselves may be cross-site information, we cannot simply expose them to the page for users without third-party cookies. Instead, this feature reuses the existing aggregate, noised reporting pipelines through the Aggregation Service.

  • Private Network Access Null Ip Address
    PrivateNetworkAccessNullIpAddresschromestatus.com

    We propose to block access to IP address 0.0.0.0 in advance of PNA completely rolling out. Chrome is deprecating direct access to private network endpoints from public websites as part of the Private Network Access (PNA) specification (https://developer.chrome.com/blog/private-network-access-preflight/). Services listening on the localhost (127.0.0.0/8) are considered private according to the specification (https://wicg.github.io/private-network-access/#ip-address-space-heading). Chrome's PNA protection (rolled out as part of https://chromestatus.com/feature/5436853517811712) can be bypassed using the IP address 0.0.0.0 to access services listening on the localhost on macOS and Linux. This can also be abused in DNS rebinding attacks targeting a web application listening on the localhost. Since 0.0.0.0 is not used in practice (and should not be used), but was overlooked during https://chromestatus.com/feature/5436853517811712, we're deprecating it separately from the rest of the private network requests deprecation.

  • Propagate Overscroll Behavior From Root
    PropagateOverscrollBehaviorFromRootchromestatus.com

    Propagate overscroll-behavior from the root instead of the body. The CSS working group resolved[0] on not propagating properties from the <body> to the viewport. Rather, properties of the viewport are to be propagated from the root (i.e. <html>) element e.g. scroll-behavior[1], scroll-snap-type[2], scroll-padding[3]. As such, overscroll-behavior should be propagated from the root element. However, Chrome has had a longstanding issue of propagating overscroll-behavior from the <body> rather than the root, which deviates from the behavior of Safari(WebKit) and Firefox(Gecko). This feature intends to fix this by propagating overscroll-behavior from the root rather than the <body>. [0] https://github.com/w3c/csswg-drafts/issues/6079#issuecomment-816307011 [1] https://drafts.csswg.org/css-overflow/#:~:text=not%20propagated%20to%20the%20viewport [2] https://drafts.csswg.org/css-scroll-snap/#:~:text=not%20propagated%20from%20HTML%20body [3] https://drafts.csswg.org/css-scroll-snap/#:~:text=padding%20values%20are%20not%20propagated%20from%20HTML%20body

  • Rel Opener Bcg Dependency Hint
    RelOpenerBcgDependencyHintchromestatus.com

    Extends the use of the "opener" rel type to same-window navigations to signal to the browser that the destination page will open a new window and the referring page expects to be able to access it. Some user agents perform browsing context group changes on navigation that aren't strictly necessary for security in order to improve performance. This results in named window reuse not being possible across a back navigation. Annotating an anchor element with "opener" will signal to the user agent that performing a browsing context group change would break a future opener relationship.

  • Restrict Own Audio
    RestrictOwnAudiochromestatus.com

    restrictOwnAudio is a captured display surfaces constrainable property. This constrainable property changes the behavior of system audio in a captured display surface. The restrictOwnAudio constraint will only have an effect if the captured display surface inherently includes system audio; otherwise, it will have no impact. By default, when system audio is captured, it includes all audio played out by the system on audio output devices. When restrictOwnAudio is enabled, the captured system audio will be filtered to exclude audio originating from the document that performed getDisplayMedia. The restrictOwnAudio constraint allows for cleaner screen recordings for some use cases. Without it, if the capturing web page itself is playing audio (e.g. a video embedded on the on the recording page), that audio would be included in the capture. This could lead to an undesirable echo or interfere with the intended audio sources from other tabs or applications. The restrictOwnAudio constrainable property is described in the specification. https://www.w3.org/TR/screen-capture/#dfn-restrictownaudio

  • 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 Encoded Frame Set Metadata
    RTCEncodedFrameSetMetadatachromestatus.com

    Allow WebRTC Encoded Transform API to manipulate audio and video frame metadata. Some WebRTC Encoded Transform use cases involve manipulation of not only the payload of encoded video / audio frames but also its metadata. Some examples: * Altering the timestamp of a frame to introduce a delay, * Changing the mime type of the frame if the transform changes the type of the payload. * Forwarding of media to a new peer connection set up to use different metadata values Use cases: https://w3c.github.io/webrtc-nv-use-cases/#live-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#stored-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#auction Issue link: https://github.com/w3c/webrtc-nv-use-cases/issues/77

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

  • Scroll Into View Nearest
    ScrollIntoViewNearestchromestatus.com

    The ScrollIntoViewOptions container option allows developers to perform a scrollIntoView only scrolling the nearest ancestor scroll container. For example, the following snippet only scrolls the scroll container of target to bring target into view, but will not scroll all of the scroll containers to the viewport: target.scrollIntoView({container: 'nearest'});

  • Search Text Highlight Pseudo
    SearchTextHighlightPseudochromestatus.com

    Exposes find-in-page search result styling to authors as a highlight pseudo-element, like selection and spelling errors. This allows authors to change the foreground and background colors or add text decorations, which can be especially useful if the UA defaults have insufficient contrast with the page colors or are otherwise unsuitable.

  • Secure Payment Confirmation Browser Bound Keys
    SecurePaymentConfirmationBrowserBoundKeyschromestatus.com

    Adds an additional cryptographic signature over Secure Payment Confirmation assertions and credential creation. The corresponding private key is not synced across devices. This helps web developers meet requirements for device binding for payment transactions.

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

  • Signature Based Integrity
    SignatureBasedIntegritychromestatus.com

    This feature provides web developers with a mechanism to verify the provenance of resources they depend upon, creating a technical foundation for trust in a site's dependencies. In short: servers can sign responses with a Ed25519 key pair, and web developers can require the user agent to verify the signature using a specific public key. This offers a helpful addition to URL-based checks offered by Content Security Policy on the one hand, and Subresource Integrity's content-based checks on the other.

  • Soft Navigation Heuristics
    SoftNavigationHeuristicschromestatus.com

    Exposes the (experimental) soft navigation heuristics to web developers, using both PerformanceObserver and the performance timeline. This feature reports two new performance entries: - "soft-navigation", for user interactions which navigate the page. Defines a new timeOrigin to help slice the performance timeline. - "interaction-contentful-paint", which reports on the loading performance of interactions (beyond just next paint), used as LCP for soft-navigations.

  • Text Detector
    TextDetectorchromestatus.com

    The Text Detection API is a subset of the Shape Detection API which provides the ability to detect and optionally transcribe text in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • Toggle Event Source
    ToggleEventSourcechromestatus.com

    The source attribute of ToggleEvents contains the element which triggered the ToggleEvent to be fired, if applicable. For example, if a button element with the popovertarget or commandfor attribute set up to open a popover is clicked by the user, then the ToggleEvent fired on the popover will have its source attribute set to the invoking button.

  • Tpcd

    This experiment exposes a temporary set of APIs which provide access to browser-determined treatment and control groups to support opt-in server side testing of the third-party cookie deprecation.

  • Web App Installation
    WebAppInstallationchromestatus.com

    The Web Install API allows a web site to install a web app (same or cross domain). This functionality allows the creation of web based catalogues that can install PWAs directly from the web and into multiple platforms. https://aka.ms/webinstall

  • Web App Scope Extensions
    WebAppScopeExtensionschromestatus.com

    Adds a "scope_extensions" web app manifest field that enables web apps to extend their scope to other origins. Example usage: { "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ {"type" : "origin", "origin" : "https://example.com"} ] } This allows sites that control multiple subdomains and top level domains to be presented as a single web app. Requires listed origins to confirm association with the web app using a .well-known/web-app-origin-association configuration file. { "https://sample-app.com/": { "scope": "/" } }

  • WebGPU Compatibility Mode
    WebGPUCompatibilityModechromestatus.com

    Adds an opt-in, lightly restricted subset of the WebGPU API capable of running older graphics APIs such as OpenGL and Direct3D11. By opting into this mode and obeying its constraints, developers can extend the reach of their WebGPU applications to many older devices that do not have the modern, explicit graphics APIs that core WebGPU requires. For simple applications, the only required change is to specify the "compatibility" featureLevel when calling requestAdapter. For more advanced applications, some modifications may be necessary to accommodate the mode's restrictions. Since Compatibility mode is a subset, the resulting applications are also valid WebGPU Core applications and will run even on user agents that do not support Compatibility mode.

  • WebGPU Experimental Features
    WebGPUExperimentalFeatureschromestatus.com

    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.

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

  • Web Preferences
    WebPreferenceschromestatus.com

    The Web Preference API aims to provide a way for sites to override the value for a given user preference (e.g. color-scheme preference) in a way that fully integrates with existing Web APIs.

  • Web XR Depth Performance
    WebXRDepthPerformancechromestatus.com

    Exposes several new mechanisms to customize the behavior of the depth sensing feature within a WebXR session, with the goal of improving the performance of the generation or consumption of the depth buffer. The key mechanisms exposed are: the ability to request the raw or smooth depth buffer, the ability to request that the runtime stop or resume providing the depth buffer, and the ability to expose a depth buffer that does not align with the user's view exactly, so that the user agent does not need to perform unnecessary re-projections every frame.

  • Web XR Layers

    WebXR Layers offers a more efficient way of drawing immersive content. In addition to support for native color and depth textures and texture arrays, it also provides support for different layer types that are managed by the system compositor (as opposed to javascript).

  • Web XR Spec Parity
    WebXRSpecParitychromestatus.com

    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

Features in Chromium 138 without description
  • Accessibility Aria Virtual Content
    AccessibilityAriaVirtualContent
    Accessibility Implicit Actions
    AccessibilityImplicitActions
    Accessibility OS Level Bold Text
    AccessibilityOSLevelBoldText
    Accessibility Serialization Size Metrics
    AccessibilitySerializationSizeMetrics
    Address Space
    AddressSpace
    Allow Preloading With CSP Meta Tag
    AllowPreloadingWithCSPMetaTag
    AOM Aria Relationship Properties Aria Owns
    AOMAriaRelationshipPropertiesAriaOwns
    App Title
    AppTitle
    Aria Actions
    AriaActions
    Audio Video Tracks
    AudioVideoTracks
    Auto Picture In Picture Video Heuristics
    AutoPictureInPictureVideoHeuristics
    Back Forward Cache Experiment HTTP Header
    BackForwardCacheExperimentHTTPHeader
    Back Forward Cache Restoration Performance Entry
    BackForwardCacheRestorationPerformanceEntry
    Blocking Focus Without User Activation
    BlockingFocusWithoutUserActivation
    Browser Initiated Automatic Picture In Picture
    BrowserInitiatedAutomaticPictureInPicture
    Built In AI API
    BuiltInAIAPI
    Cache Storage Code Cache Hint
    CacheStorageCodeCacheHint
    Canvas2d Canvas Filter
    Canvas2dCanvasFilter
    Canvas2d GPU Transfer
    Canvas2dGPUTransfer
    Canvas2d Layers With Options
    Canvas2dLayersWithOptions
    Canvas Gradient CSS Color4
    CanvasGradientCSSColor4
    Canvas HDR
    CanvasHDR
    Composite BG Color Animation
    CompositeBGColorAnimation
    Composite Clip Path Animation
    CompositeClipPathAnimation
    Computed Accessibility Info
    ComputedAccessibilityInfo
    Correct Template Form Parsing
    CorrectTemplateFormParsing
    CSS Accent Color Keyword
    CSSAccentColorKeyword
    CSS Color Contrast
    CSSColorContrast
    CSS Color Typed OM
    CSSColorTypedOM
    CSS Container Progress Notation
    CSSContainerProgressNotation
    CSS Cross Fade
    CSSCrossFade
    CSS Layout API
    CSSLayoutAPI
    CSS Line Clamp
    CSSLineClamp
    CSS Media Progress Notation
    CSSMediaProgressNotation
    CSS Paint API Arguments
    CSSPaintAPIArguments
    CSS Pseudo Has Slotted
    CSSPseudoHasSlotted
    CSS Scope Import
    CSSScopeImport
    CSS Scroll Marker Contain
    CSSScrollMarkerContain
    CSS Scroll Snap Event Constructor Exposed
    CSSScrollSnapEventConstructorExposed
    CSS Selector Fragment Anchor
    CSSSelectorFragmentAnchor
    CSS Supports At Rule Function
    CSSSupportsAtRuleFunction
    CSS Video Dynamic Range Media Queries
    CSSVideoDynamicRangeMediaQueries
    Customizable Select In Page
    CustomizableSelectInPage
    Desktop Capture Disable Local Echo Control
    DesktopCaptureDisableLocalEchoControl
    Device Attributes Permission Policy
    DeviceAttributesPermissionPolicy
    Device Bound Session Credentials
    DeviceBoundSessionCredentials
    Dialog Close When Open Removed
    DialogCloseWhenOpenRemoved
    Disable Third Party Storage Partitioning3
    DisableThirdPartyStoragePartitioning3
    Display Contents Focusable
    DisplayContentsFocusable
    Document Open Origin Alias Removal
    DocumentOpenOriginAliasRemoval
    Document Policy Document Domain
    DocumentPolicyDocumentDomain
    Document Policy Negotiation
    DocumentPolicyNegotiation
    Document Policy Sync XHR
    DocumentPolicySyncXHR
    DOM Parts API
    DOMPartsAPI
    Event Timing Interaction Count
    EventTimingInteractionCount
    Experimental Content Security Policy Features
    ExperimentalContentSecurityPolicyFeatures
    Experimental JS Profiler Markers
    ExperimentalJSProfilerMarkers
    Experimental Policies
    ExperimentalPolicies
    File System Observer Unobserve
    FileSystemObserverUnobserve
    Flex Wrap Balance
    FlexWrapBalance
    Freeze Frames On Visibility
    FreezeFramesOnVisibility
    Get Display Media Requires User Activation
    GetDisplayMediaRequiresUserActivation
    HTML Anchor Attribute
    HTMLAnchorAttribute
    HTML Interest Target Attribute
    HTMLInterestTargetAttribute
    ICU Capitalization
    ICUCapitalization
    Ignore Out Of Flow Position For Previous Text
    IgnoreOutOfFlowPositionForPreviousText
    Inner HTML Parser Fastpath Log Failure
    InnerHTMLParserFastpathLogFailure
    Input In Select
    InputInSelect
    Interoperable Private Attribution
    InteroperablePrivateAttribution
    Java Script Compile Hints Per Function Magic Runtime
    JavaScriptCompileHintsPerFunctionMagicRuntime
    Keyboard Accessible Tooltip
    KeyboardAccessibleTooltip
    Limit Third Party Cookies
    LimitThirdPartyCookies
    Long Animation Frame Source Char Position
    LongAnimationFrameSourceCharPosition
    Media Capabilities Encoding Info
    MediaCapabilitiesEncodingInfo
    Media Capture Camera Controls
    MediaCaptureCameraControls
    Media Capture Configuration Change
    MediaCaptureConfigurationChange
    Media Source Experimental
    MediaSourceExperimental
    Navigate Event Commit Behavior
    NavigateEventCommitBehavior
    Notification Triggers
    NotificationTriggers
    Offscreen Canvas Commit
    OffscreenCanvasCommit
    Origin Policy
    OriginPolicy
    Overscroll Customization
    OverscrollCustomization
    Partitioned Popins
    PartitionedPopins
    Performance Mark Feature Usage
    PerformanceMarkFeatureUsage
    Per Method Can Make Payment Quota
    PerMethodCanMakePaymentQuota
    Permissions Request Revoke
    PermissionsRequestRevoke
    Prefers Reduced Data
    PrefersReducedData
    Preload Link Rel Data Urls
    PreloadLinkRelDataUrls
    Private Network Access Non Secure Contexts Allowed
    PrivateNetworkAccessNonSecureContextsAllowed
    Push Messaging Subscription Change
    PushMessagingSubscriptionChange
    Resource Timing Content Encoding
    ResourceTimingContentEncoding
    Resource Timing Content Type
    ResourceTimingContentType
    Restrict Gamepad Access
    RestrictGamepadAccess
    Rtc Audio Jitter Buffer Max Packets
    RtcAudioJitterBufferMaxPackets
    RTC Encoded Video Frame Additional Metadata
    RTCEncodedVideoFrameAdditionalMetadata
    RTC Legacy Callback Based Get Stats
    RTCLegacyCallbackBasedGetStats
    RTC Stats Relative Packet Arrival Delay
    RTCStatsRelativePacketArrivalDelay
    Scoped Custom Element Registry
    ScopedCustomElementRegistry
    Scoped View Transitions
    ScopedViewTransitions
    Scroll Anchor Priority Candidate Subtree
    ScrollAnchorPriorityCandidateSubtree
    Scroll Timeline Current Time
    ScrollTimelineCurrentTime
    Secure Payment Confirmation Availability API
    SecurePaymentConfirmationAvailabilityAPI
    Secure Payment Confirmation Network And Issuer Icons
    SecurePaymentConfirmationNetworkAndIssuerIcons
    Sensor Extra Classes
    SensorExtraClasses
    Service Worker Client Lifecycle State
    ServiceWorkerClientLifecycleState
    Set Sequential Focus Starting Point
    SetSequentialFocusStartingPoint
    Signature Based Inline Integrity
    SignatureBasedInlineIntegrity
    Skip Callbacks When Dev Tools Not Open
    SkipCallbacksWhenDevToolsNotOpen
    Soft Navigation Detection Advanced Paint Attribution
    SoftNavigationDetectionAdvancedPaintAttribution
    Speaker Selection
    SpeakerSelection
    Storage Buckets Durability
    StorageBucketsDurability
    Storage Buckets Locks
    StorageBucketsLocks
    Strict Mime Types For Workers
    StrictMimeTypesForWorkers
    Svg Script Element Async Attribute
    SvgScriptElementAsyncAttribute
    Synthesized Keyboard Events For Accessibility Actions
    SynthesizedKeyboardEventsForAccessibilityActions
    System Wake Lock
    SystemWakeLock
    Textarea Split Text
    TextareaSplitText
    Text Emphasis Position Auto
    TextEmphasisPositionAuto
    Text Fragment API
    TextFragmentAPI
    Timestamp Based CLS Tracking
    TimestampBasedCLSTracking
    Time Zone Change Event
    TimeZoneChangeEvent
    Topics Img API
    TopicsImgAPI
    Top Level Tpcd
    TopLevelTpcd
    Trusted Type Before Policy Creation Event
    TrustedTypeBeforePolicyCreationEvent
    Trusted Types From Literal
    TrustedTypesFromLiteral
    Trusted Types Use Code Like
    TrustedTypesUseCodeLike
    Unclosed Form Control Is Invalid
    UnclosedFormControlIsInvalid
    Unencoded Digest
    UnencodedDigest
    URL Pattern Compare Component
    URLPatternCompareComponent
    User Defined Entry Point Timing
    UserDefinedEntryPointTiming
    Video Frame Metadata Background Blur
    VideoFrameMetadataBackgroundBlur
    Video Frame Metadata Rtp Timestamp
    VideoFrameMetadataRtpTimestamp
    Web App Translations
    WebAppTranslations
    Web Assembly JS Promise Integration
    WebAssemblyJSPromiseIntegration
    Web Authentication Ambient
    WebAuthenticationAmbient
    Web Authentication Attestation Formats
    WebAuthenticationAttestationFormats
    Web Authentication Challenge Url
    WebAuthenticationChallengeUrl
    Web Authentication Supplemental Pub Keys
    WebAuthenticationSupplementalPubKeys
    Web Bluetooth Get Devices
    WebBluetoothGetDevices
    Web Bluetooth Scanning
    WebBluetoothScanning
    Web Bluetooth Watch Advertisements
    WebBluetoothWatchAdvertisements
    Web Codecs Video Encoder Buffers
    WebCodecsVideoEncoderBuffers
    Web Font Resize LCP
    WebFontResizeLCP
    WebGL Developer Extensions
    WebGLDeveloperExtensions
    WebGPU Feature Level
    WebGPUFeatureLevel
    Web Transport Stats
    WebTransportStats
    Web U I Bundled Code Cache Async Fetch
    WebUIBundledCodeCacheAsyncFetch
    Web View XR equested With Deprecation
    WebViewXRequestedWithDeprecation
    Web VTT Regions
    WebVTTRegions
    Web XR Frame Rate
    WebXRFrameRate
    Web XR Front Facing
    WebXRFrontFacing
    Web XR GPU Binding
    WebXRGPUBinding
    Web XR Hit Test Entity Types
    WebXRHitTestEntityTypes
    Web XR Image Tracking
    WebXRImageTracking
    Web XR Layers Common
    WebXRLayersCommon
    Web XR Plane Detection
    WebXRPlaneDetection
    Web XR Pose Motion Data
    WebXRPoseMotionData
    Window On Move Event
    WindowOnMoveEvent

Chromium 137

  • AI Prompt API Multimodal Input
    AIPromptAPIMultimodalInputchromestatus.com

    An API designed for interacting with an AI language model using text, image, and audio inputs. It supports various use cases, from generating image captions and performing visual searches to transcribing audio, classifying sound events, generating text following specific instructions, and extracting information or insights from text. It supports structured outputs which ensure that responses adhere to a predefined format, typically expressed as a JSON schema, to enhance response conformance and facilitate seamless integration with downstream applications that require standardized output formats. This API is also exposed in Chrome Extensions. This feature entry tracks the exposure on the web. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable.

  • AI Summarization API
    AISummarizationAPIchromestatus.com

    Summarizer API is a JavaScript API for producing summaries of input text, backed by an AI language model. Browsers and operating systems are increasingly expected to gain access to a language model. By exposing this built-in model, we avoid every website needing to download their own multi-gigabyte language model, or send input text to third-party APIs. The summarizer API in particular exposes a high-level API for interfacing with a language model in order to summarize inputs for a variety of use cases (Github), in a way that does not depend on the specific language model in question. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable.

  • Audio Context Playout Stats
    AudioContextPlayoutStatschromestatus.com

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

  • Boundary Event Dispatch Tracks Node Removal
    BoundaryEventDispatchTracksNodeRemovalchromestatus.com

    After an event target gets removed from the DOM, the logical target of the pointer as implied by the Pointer and Mouse boundary events (i.e. over, out, enter and leave events) should be the nearest ancestor still attached to the DOM. PEWG has recently reached consensus on this behavior, see https://github.com/web-platform-tests/interop/issues/380. Chrome has been keeping track of a node even after it gets removed from DOM. As a result, if the pointer moves to a new node B after the hit-test node A is removed from DOM, the boundary event sequence (pointerover, pointerout, pointerenter, pointerleave events and the corresponding mouse events) used to imply a pointer movement from A to B. As per the new consensus, the event sequence should imply a pointer movement from the "parent of A" to B.

  • Canvas Text Ng
    CanvasTextNgchromestatus.com

    This is not a web-exposed change. The implementation of CanvasRenderingContext2D's measureText(), fillText(), and strokeText() has a drastic change. This might affect performance, so we'd like to run an origin trial so canvas-heavy applications can try out the new implementation.

  • Capability Delegation Display Capture Request
    CapabilityDelegationDisplayCaptureRequestchromestatus.com

    This feature is based on the general delegation mechanism (https://chromestatus.com/feature/5708770829139968) shipped on M100. Display-Capture Capability Delegation allows a Window to transfer the ability to call navigator.mediaDevices.getDisplayMedia() to another Window it trusts after relinquishing the transient user activation at the sender Window.

  • Container Timing
    ContainerTimingchromestatus.com

    The Container Timing API enables monitoring when annotated sections of the DOM are displayed on screen and have finished their initial paint. A developer will have the ability to mark subsections of the DOM with the containertiming attribute (similar to elementtiming for the Element Timing API) and receive performance entries when that section has been painted for the first time. This API will allow developers to measure the timing of various components in their pages.

  • Context Menu

    Change “click”, “contextmenu”, “auxclick” events to PointerEvent (instead of MouseEvent) to let developers: distinguish between mouse, pen and individual fingers in a multitouch interaction through pointerType and pointerId attributes, and utilize fractional event coordinates for high precision use cases.

  • Controlled Frame
    ControlledFramechromestatus.com

    Adds a Controlled Frame API available only to Isolated Web Apps (IWAs). This work adds 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 Caret Animation
    CSSCaretAnimationchromestatus.com

    Chromium supports animation of the caret-color property, but when animated the default blinking behavior of the caret interferes with the animation. For instance, see the example at https://drafts.csswg.org/css-ui/#caret-animation where an animation from blue to red and back is rendered as a blinking cursor that is randomly blue or red. The CSS caret-animation property has two possible values: auto and manual, where auto means browser default (blinking) and manual means the page author is controlling the caret animation. In addition, via a user stylesheet, it allows users who are disturbed by or have adverse reactions to blinking or flashing visuals to disable the blinking.

  • CSS Corner Shape
    CSSCornerShapechromestatus.com

    Enable styling corners, on top of the existing border-radius, by expressing the shape/curvature of the corner as a superellipse. This allows shapes like squircles, notches, scoops etc., and animating between them.

  • CSS Functions
    CSSFunctionschromestatus.com

    Custom Functions are similar to custom properties, but instead of returning a single, fixed value, they return values based on other custom properties, parameters, and conditionals.

  • CSS Preferred Text Scale
    CSSPreferredTextScalechromestatus.com

    Exposes a user's preferred font scale to CSS. Currently, it is not practical for a page to detect if the user has changed their preferred font size via the Operating System's preferences. This CSS environment variable will reflect the scale chosen by the user.

  • CSS Progress Notation
    CSSProgressNotationchromestatus.com

    The progress() functional notation returns a <number> value representing the position of one calculation (the progress value) between two other calculations (the progress start value and progress end value). progress() is a math function. The syntax of progress() is defined as follows: <progress()> = progress(<calc-sum>, <calc-sum>, <calc-sum>) where the first, second, and third <calc-sum> values represent the progress value, progress start value, and progress end value, respectively.

  • CSS Sibling Functions
    CSSSiblingFunctionschromestatus.com

    sibling-index() and sibling-count() can be used as integers in CSS property values to style elements based on their position among its siblings, or the total number of siblings respectively. These functions can be used directly as integer values, but more interestingly inside calc() expressions. Example: li { margin-left: calc(10px * sibling-index()); }

  • CSS Sign Related Functions
    CSSSignRelatedFunctionschromestatus.com

    The sign-related functions ​abs() and sign() ​compute various functions related to the sign of their argument. The abs(A) function contains one calculation A, and returns the absolute value of A, as the same type as the input: if A’s numeric value is positive or 0⁺, just A again; otherwise -1 * A. The sign(A) function contains one calculation A, and returns -1 if A’s numeric value is negative, +1 if A’s numeric value is positive, 0⁺ if A’s numeric value is 0⁺, and 0⁻ if A’s numeric value is 0⁻. The return type is a <number>, made consistent with the input calculation’s type.

  • CSS System Accent Color
    CSSSystemAccentColorchromestatus.com

    This feature empowers web developers to enhance the visual appeal of their websites by leveraging the operating system's accent color for form elements. By utilizing the "accent-color" CSS property, developers can ensure that form elements such as checkboxes, radio buttons, and progress bars automatically adopt the accent color defined by the user's operating system. This feature is an enhancement to existing feature that is already shipped in Chromium: https://groups.google.com/a/chromium.org/g/blink-dev/c/WwYkLjbGhoA

  • CSS Text Auto Space
    CSSTextAutoSpacechromestatus.com

    Inserts small spacings to match the established typographic rules automatically. The spec currently defines one rule for Han ideographic characters and one for French. The initial implementation focuses on the Han ideographic characters rule. Text written in Han ideographic writing systems often mixes multiple scripts, usually the Han ideographic scripts, Latin scripts, and ASCII digits. Small spacings when switching from and to non-Han ideographic scripts often help the readability. This property lets browsers insert such spacings automatically. This property has several values, including values for other writing systems. The initial implementation supports `normal` and `no-autospace`. The initial value is set to `no-autospace` to start conservatively and be more careful for the site compatibilities. Authors can add `text-autospace: normal` to enable the feature.

  • CSS View Transition Auto Name
    CSSViewTransitionAutoNamechromestatus.com

    Contact emails vmpstr@chromium.org, nrosenthal@chromium.org Explainer None Specification https://drafts.csswg.org/css-view-transitions-2/#auto-vt-name Summary 'auto' uses the element's id attribute to generate a unique match for view transition cases. In absence of the id, it generates a unique id based on the element's identity and remains the same for this element. This is used in Single Page App or Multi Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

  • Device Orientation Request Permission
    DeviceOrientationRequestPermissionchromestatus.com

    Allows developers to ask for permission to use the Device Orientation and Device Motion APIs. Access to these APIs is currently granted by default, and these new functions are part of the long-term plan to require requesting permission before using window.ondevicemotion and window.ondeviceorientation.

  • Dialog New Focus Behavior
    DialogNewFocusBehaviorchromestatus.com

    Some changes are being made to which element is selected to get focus when a dialog element is opened: 1. Make the dialog focusing steps look at keyboard focusable elements instead of any focusable element. 2. Make the dialog element itself get focus if it has the autofocus attribute set. 3. Make the dialog element itself get focus as a fallback instead of focus being "reset" to the body element.

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

  • Escape Lt Gt In Attributes
    EscapeLtGtInAttributeschromestatus.com

    Escape "<" and ">" in values of attributes on serialization. This mitigates the risk of mutation XSS attacks, which occur when value of an attribute is interpreted as a start tag token after being serialized and re-parsed.

  • Extended Text Metrics
    ExtendedTextMetricschromestatus.com

    Expand the TextMetrics Canvas API to support selection rectangles, bounding box queries, and grapheme cluster-based operations. This new functionality should enable complex text editing applications with accurate selection, caret positioning, and hit testing. Additionally, cluster-based rendering facilitates sophisticated text effects such as independent character animations and styling.

  • Face Detector
    FaceDetectorchromestatus.com

    The Face Detection API is a subset of the Shape Detection API which provides the ability to detect human faces and facial landmarks in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • File System Access API Experimental
    FileSystemAccessAPIExperimentalchromestatus.com

    Currently, the File System Access API does not support an efficient way to move or rename files or directories. This requires creating a new file/directory, copying over data (recursively, in the case of a directory), and removing the original. This process is slow, error prone (e.g. disk full), and can require re-uploading files in some cases. See https://github.com/WICG/file-system-access/pull/317

  • Focusgroup

    The Focusgroup feature will facilitate keyboard focus navigation using the keyboard arrow keys among a set of focusable elements.

  • Gamepad Multitouch
    GamepadMultitouchchromestatus.com

    Extend the Gamepad API to support multitouch surfaces (touchpads). Providing a touchpad API eases application implementation and provides greater functionality browser interoperability.

  • Heading Offset
    HeadingOffsetchromestatus.com

    A system for creating structured headings within a document. The `headingoffset=` attribute can be added to elements that influences the child `h1`-`h6` elements' heading levels, for example a `headingoffset=1` will mean all `h1` elements will have an effective heading level of 2, and so on. In addition the `:heading` pseudo class will select all headings (tags of `h1` to `h6`) and the `:heading(N)` pseudo class will select headings with an _effective_ level of `N`. This allows for documents with different heading structures (for example user generated content) to be combined to create a well defined heading structure without significantly altering the underlying documents.

  • HTML Command Request Close
    HTMLCommandRequestClosechromestatus.com

    Dialog elements can be closed through a variety of mechanisms, sometimes developers want to have the ability to prevent closure. To achieve this dialogs fire a cancel event. Originally this was only fired via a close request (e.g. ESC key press), recently a `requestClose()` JS function was added which also fires the cancel event. The 'request-close' command brings that new ability to the declarative invoker commands API.

  • Ignore Letter Spacing In Cursive Scripts
    IgnoreLetterSpacingInCursiveScriptschromestatus.com

    This feature adds logic to ignore the letter-spacing setting for cursive scripts as specified by the web author, in line with the spec, to ensure that letter spacing does not disrupt word structure and aims to produce better user experience for users relying on cursive scripts. The spec suggests that the UA may apply letter spacing to cursive scripts by translating the total extra space into cursive elongation or compression. Otherwise, if the UA cannot expand text from a cursive script without breaking its cursive connections, it must not apply spacing between any pair of that script’s typographic letter units at all. Ignoring letter spacing altogether for cursive scripts is simpler and helps avoid performance issues as handling spacing for such scripts requires complex calculations to maintain cursive connections and account for script-specific factors like elongation glyphs, typefaces, and calligraphy preferences. With this feature, Chromium ensures that cursive scripts will be readable and properly spaced, even if the fonts don’t have advanced typographic features. The scripts that we are proposing to apply this to in Chromium are Arabic, Hanifi Rohingya, Mandaic, Mongolian, N’Ko, Phags Pa, and Syriac as these scripts are considered cursive as per spec.

  • Indexed Db Get All Records
    IndexedDbGetAllRecordschromestatus.com

    This feature adds the getAllRecords() API to IndexedDB's IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality enables certain read patterns to be significantly faster when compared to the existing alternative of iteration with cursors. One key workload from a Microsoft property showed a 350ms improvement. getAllRecords() effectively combines getAllKeys() and getAll() by enumerating 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. getAllRecords() can optionally return records in either ascending or descending order. This option is also back-ported to the existing operations getAll() and getAllKeys().

  • Install On Device Speech Recognition
    InstallOnDeviceSpeechRecognitionchromestatus.com

    This feature adds on-device speech recognition support to the Web Speech API, allowing websites to ensure that neither audio nor transcribed speech are sent to a third-party service for processing. Websites can query the availability of on-device speech recognition for specific languages, prompt users to install the necessary resources for on-device speech recognition, and choose between on-device or cloud-based speech recognition as needed.

  • Inverted Colors
    InvertedColorschromestatus.com

    Adds the `inverted-colors` media feature, an indication that the user agent or underlying operating system has forcibly inverted all colors, not a request to do so. This is sometimes provided as a simple accessibility feature, allowing users to switch between light-on-dark and dark-on-light text. Valid options are 'inverted' or 'none'.

  • Language Detection API
    LanguageDetectionAPIchromestatus.com

    A JavaScript API for detecting the language of text, with confidence levels. An important supplement to translation is language detection. This can be combined with translation, e.g. taking user input in an unknown language and translating it to a specific target language. Browsers today often already have langauge detection capabilities, and we want to offer them to web developers through a JavaScript API, supplementing the translation API. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable.

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

  • Media Capture Background Blur
    MediaCaptureBackgroundBlurchromestatus.com

    The Background Blur API allows web developers to use the native platform's API for camera background segmentation. As Background Blur has become one of the most used features on video conferencing apps like Teams, Meet, Zoom, and Webex, we want web apps to leverage the same platform APIs without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions.

  • Media Capture Voice Isolation
    MediaCaptureVoiceIsolationchromestatus.com

    This is about adding support in Chrome for the VoiceIsolation getUserMedia constraint (https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint). The constraint only takes effect on platforms where there is low-level support for voice-isolation style denoising. Currently this is limited to a selected number of ChromeOS devices, but further platforms will be added.

  • Media Source Extensions For Web Codecs
    MediaSourceExtensionsForWebCodecschromestatus.com

    Extends the Media Source Extensions API (MSE) to enable buffering containerless WebCodecs encoded media chunks with MSE for low-latency buffering and seekable playback.

  • Media Source New Abort And Duration
    MediaSourceNewAbortAndDurationchromestatus.com

    The Media Source standard long ago changed to disallow ambiguously defined behavior involving asynchronous range removals: * SourceBuffer.abort() no longer aborts SourceBuffer.remove() operations * Setting MediaSource.duration can no longer truncate currently buffered media Exceptions will be thrown in both of these cases now. Safari and Firefox have long shipped this behavior, Chromium is the last browser remaining with the old behavior. Use counters show ~0.001%-0.005% of page loads hit the deprecated behavior. Primarily small Russian sites. If a site hits this issue, playback may now break. Usage of abort() cancelling removals is increasing, so it's prudent to resolve this deprecation before more incompatible usage appears.

  • Multicol Column Wrapping
    MulticolColumnWrappingchromestatus.com

    Add support for the `column-wrap` and `column-height` CSS properties, from multicol Level 2. https://drafts.csswg.org/css-multicol-2/#cwr https://drafts.csswg.org/css-multicol-2/#ch This allows for vertical column layout, or even 2D column layout. Columns can have an explicit constrained height, apart from being derived from the content-box height of the multicol container, and wrap to a new row of columns when all columns have been filled for one row, rather than creating overflowing columns in the inline direction.

  • Navigation Id
    NavigationIdchromestatus.com

    This adds a Performance Timeline entry type, "back-forward-cache-restoration", which is emitted every time that a page is retrieved from the back-forward cache, and a field on all performance timeline entries, "navigationId", which can be used to tie performance events to the most recent navigation-like event. This allows developers to more easily use the performance APIs to compare the user experience of an SPA or a bfcache-eligible page with that of a traditional multi-page experience.

  • Nested View Transition
    NestedViewTransitionchromestatus.com

    Allow view-transitions to generate a nested pseudo-element tree rather than a flat one. This allows the view transition to appear more in line with its original elements and visual intent, as it enables clipping, nested 3D transforms, and proper application of effects like opacity, masking and filters.

  • On Device Web Speech Available
    OnDeviceWebSpeechAvailablechromestatus.com

    This feature enables websites to support contextual biasing for speech recognition by adding a recognition phrase list to the Web Speech API. Developers can provide a list of phrases as well as updating them to apply a bias to the speech recognition models in favor of those phrases. This helps improve accuracy and relevance for domain-specific and personalized speech recognition.

  • Paint Timing Mixin
    PaintTimingMixinchromestatus.com

    Expose "paintTime" and "presentationTime" in event timing, element timing, LCP, long animation frames, paint timing. "paintTime" means the time when the rendering phase ended and the browser started the paint phase. "presentationTime" means the time when the "pixels reached the screen", which is somewhat implementation-defined

  • Payment App

    The API helps to develop new payment apps in web standard ways (e.g. service worker). If using them, payment app providers can provide simplified payment methods and user experiences.

  • Payment Link Detection
    PaymentLinkDetectionchromestatus.com

    Adds support for <link rel="facilitated-payment" href="..."> as a hint that the browser should notify registered payment clients about a pending push payment.

  • Payment Request
    PaymentRequestchromestatus.com

    To help developers reduce friction in Payment Request flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change.

  • Performance Navigation Timing Confidence
    PerformanceNavigationTimingConfidencechromestatus.com

    Web applications may suffer from bimodal distribution in page load performance, due to factors outside of the web application’s control. For example: * When a user agent first launches (a "cold start" scenario), it must perform many expensive initialization tasks that compete for resources on the system. * Browser extensions can affect the performance of a website. For instance, some extensions run additional code on every page you visit, which can increase CPU usage and result in slower response times. * When a machine is busy performing intensive tasks, it can lead to slower loading of web pages. In these scenarios, content the web app attempts to load will be in competition with other work happening on the system. This makes it difficult to detect if performance issues exist within web applications themselves, or because of external factors. Teams we have worked with have been surprised at the difference between real-world dashboard metrics and what they observe in page profiling tools. Without more information, it is challenging for developers to understand if (and when) their applications may be misbehaving or are simply being loaded in a contended period. A new ‘confidence’ field on the PerformanceNavigationTiming object will enable developers to discern if the navigation timings are representative for their web application.

  • Permission Element
    PermissionElementchromestatus.com

    Provide a new HTML element that interacts with the permission flow. The permission prompt is currently triggered directly from JS without the user agent having any strong signal of the user's intent. Having an in-content element that the user uses to trigger the permission flow allows for improved permission prompt UX for users as well as a recovery path from the "denied" permission state for sites. Explainer: https://github.com/WICG/PEPC/blob/main/explainer.md Instructions: https://github.com/WICG/PEPC/blob/main/HOWTO.md Developer facing documentation: https://developer.chrome.com/blog/permission-element-origin-trial

  • Preferred Audio Output Devices
    PreferredAudioOutputDeviceschromestatus.com

    This feature adds setDefaultSinkId() to MediaDevices, which enables the top-level frame to change the default audio output device used by its subframes.

  • Private Aggregation Api Error Reporting
    PrivateAggregationApiErrorReportingchromestatus.com

    There are a range of error conditions that can be hit when using the Private Aggregation API. For example, the privacy budget could run out, preventing any further histogram contributions. This feature allows developers to register histogram contributions that should only be sent if a particular type of error occurs. This feature supports measuring the frequency of the error conditions and to split these measurements on relevant developer-specified dimensions (e.g. version of deployed code). As the errors themselves may be cross-site information, we cannot simply expose them to the page for users without third-party cookies. Instead, this feature reuses the existing aggregate, noised reporting pipelines through the Aggregation Service.

  • Private Network Access Null Ip Address
    PrivateNetworkAccessNullIpAddresschromestatus.com

    We propose to block access to IP address 0.0.0.0 in advance of PNA completely rolling out. Chrome is deprecating direct access to private network endpoints from public websites as part of the Private Network Access (PNA) specification (https://developer.chrome.com/blog/private-network-access-preflight/). Services listening on the localhost (127.0.0.0/8) are considered private according to the specification (https://wicg.github.io/private-network-access/#ip-address-space-heading). Chrome's PNA protection (rolled out as part of https://chromestatus.com/feature/5436853517811712) can be bypassed using the IP address 0.0.0.0 to access services listening on the localhost on macOS and Linux. This can also be abused in DNS rebinding attacks targeting a web application listening on the localhost. Since 0.0.0.0 is not used in practice (and should not be used), but was overlooked during https://chromestatus.com/feature/5436853517811712, we're deprecating it separately from the rest of the private network requests deprecation.

  • Rel Opener Bcg Dependency Hint
    RelOpenerBcgDependencyHintchromestatus.com

    Extends the use of the "opener" rel type to same-window navigations to signal to the browser that the destination page will open a new window and the referring page expects to be able to access it. Some user agents perform browsing context group changes on navigation that aren't strictly necessary for security in order to improve performance. This results in named window reuse not being possible across a back navigation. Annotating an anchor element with "opener" will signal to the user agent that performing a browsing context group change would break a future opener relationship.

  • 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 Encoded Frame Set Metadata
    RTCEncodedFrameSetMetadatachromestatus.com

    Allow WebRTC Encoded Transform API to manipulate audio and video frame metadata. Some WebRTC Encoded Transform use cases involve manipulation of not only the payload of encoded video / audio frames but also its metadata. Some examples: * Altering the timestamp of a frame to introduce a delay, * Changing the mime type of the frame if the transform changes the type of the payload. * Forwarding of media to a new peer connection set up to use different metadata values Use cases: https://w3c.github.io/webrtc-nv-use-cases/#live-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#stored-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#auction Issue link: https://github.com/w3c/webrtc-nv-use-cases/issues/77

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

  • Search Text Highlight Pseudo
    SearchTextHighlightPseudochromestatus.com

    Exposes find-in-page search result styling to authors as a highlight pseudo-element, like selection and spelling errors. This allows authors to change the foreground and background colors or add text decorations, which can be especially useful if the UA defaults have insufficient contrast with the page colors or are otherwise unsuitable.

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

  • Signature Based Integrity
    SignatureBasedIntegritychromestatus.com

    This feature provides web developers with a mechanism to verify the provenance of resources they depend upon, creating a technical foundation for trust in a site's dependencies. In short: servers can sign responses with a Ed25519 key pair, and web developers can require the user agent to verify the signature using a specific public key. This offers a helpful addition to URL-based checks offered by Content Security Policy on the one hand, and Subresource Integrity's content-based checks on the other.

  • Soft Navigation Heuristics
    SoftNavigationHeuristicschromestatus.com

    Exposes the (experimental) soft navigation heuristics to web developers, using both PerformanceObserver and the performance timeline. This feature reports two new performance entries: - "soft-navigation", for user interactions which navigate the page. Defines a new timeOrigin to help slice the performance timeline. - "interaction-contentful-paint", which reports on the loading performance of interactions (beyond just next paint), used as LCP for soft-navigations.

  • Text Detector
    TextDetectorchromestatus.com

    The Text Detection API is a subset of the Shape Detection API which provides the ability to detect and optionally transcribe text in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • Tpcd

    This experiment exposes a temporary set of APIs which provide access to browser-determined treatment and control groups to support opt-in server side testing of the third-party cookie deprecation.

  • Translation API
    TranslationAPIchromestatus.com

    A JavaScript API to provide language translation capabilities to web pages. Browsers are increasingly offering language translation to their users. Such translation capabilities can also be useful to web developers. This is especially the case when browser's built-in translation abilities cannot help. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable.

  • Viewport Segments
    ViewportSegmentschromestatus.com

    The Viewport Segments API allows developers to adapt their website/webapp layout to target foldable devices. The viewport segments defines the position and dimensions of a logically separate region of the viewport. Viewport segments are created when the viewport is split by one or more hardware features (such as a fold or a hinge between separate displays) that act as a divider; segments are the regions of the viewport that can be treated as logically distinct by the author.

  • Web App Installation
    WebAppInstallationchromestatus.com

    The Web Install API allows a web site to install a web app (same or cross domain). This functionality allows the creation of web based catalogues that can install PWAs directly from the web and into multiple platforms. https://aka.ms/webinstall

  • Web App Scope Extensions
    WebAppScopeExtensionschromestatus.com

    Adds a "scope_extensions" web app manifest field that enables web apps to extend their scope to other origins. Example usage: { "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ {"type" : "origin", "origin" : "https://example.com"} ] } This allows sites that control multiple subdomains and top level domains to be presented as a single web app. Requires listed origins to confirm association with the web app using a .well-known/web-app-origin-association configuration file. { "https://sample-app.com/": { "scope": "/" } }

  • Web Authentication Immediate Get
    WebAuthenticationImmediateGetchromestatus.com

    A mediation mode for navigator.credentials.get() that causes browser sign-in UI to be displayed to the user if there is a passkey or password for the site that is immediately known to the browser, or else rejects the promise with NotAllowedError if there is no such credential available. This allows the site to avoid showing a sign-in page if the browser can offer a choice of sign-in credentials that are likely to succeed, while still allowing a traditional sign-in page flow for cases where there are no such credentials.

  • Web Codecs Orientation
    WebCodecsOrientationchromestatus.com

    Introduces "rotation: int" and "flip: bool" values to various video related interfaces in WebCodecs so that developers can work with frame sources that have orientation (E.g., Android cameras, certain media). The VideoFrame interface grows the ability to create VideoFrames with arbitrary rotation and flip as well as accessors for this information on the VideoFrame object. The VideoDecoderConfig object gains rotation and flip fields that are emitted on decoded VideoFrame objects automatically. The VideoEncoder class gains mechanisms for passing rotation and flip information from encode() to the VideoDecoderConfig emitted as part of EncodedVideoChunkMetadata. If encode() is called with frames with different orientations a non-fatal exception will be thrown. configure() may be used to reset the allowed orientation.

  • WebGPU Experimental Features
    WebGPUExperimentalFeatureschromestatus.com

    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.

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

  • Web Preferences
    WebPreferenceschromestatus.com

    The Web Preference API aims to provide a way for sites to override the value for a given user preference (e.g. color-scheme preference) in a way that fully integrates with existing Web APIs.

  • Web XR Depth Performance
    WebXRDepthPerformancechromestatus.com

    Exposes several new mechanisms to customize the behavior of the depth sensing feature within a WebXR session, with the goal of improving the performance of the generation or consumption of the depth buffer. The key mechanisms exposed are: the ability to request the raw or smooth depth buffer, the ability to request that the runtime stop or resume providing the depth buffer, and the ability to expose a depth buffer that does not align with the user's view exactly, so that the user agent does not need to perform unnecessary re-projections every frame.

  • Web XR Layers

    WebXR Layers offers a more efficient way of drawing immersive content. In addition to support for native color and depth textures and texture arrays, it also provides support for different layer types that are managed by the system compositor (as opposed to javascript).

  • Web XR Spec Parity
    WebXRSpecParitychromestatus.com

    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

Features in Chromium 137 without description
  • Accessibility Aria Virtual Content
    AccessibilityAriaVirtualContent
    Accessibility Implicit Actions
    AccessibilityImplicitActions
    Accessibility OS Level Bold Text
    AccessibilityOSLevelBoldText
    Accessibility Serialization Size Metrics
    AccessibilitySerializationSizeMetrics
    Address Space
    AddressSpace
    AI Prompt API
    AIPromptAPI
    AI Prompt API For Extension
    AIPromptAPIForExtension
    AI Prompt API For Web Platform
    AIPromptAPIForWebPlatform
    AI Prompt API For Workers
    AIPromptAPIForWorkers
    AI Prompt API Structured Output
    AIPromptAPIStructuredOutput
    AI Rewriter API
    AIRewriterAPI
    AI Rewriter API For Workers
    AIRewriterAPIForWorkers
    AI Summarization API For Workers
    AISummarizationAPIForWorkers
    AI Writer API
    AIWriterAPI
    AI Writer API For Workers
    AIWriterAPIForWorkers
    Allow Preloading With CSP Meta Tag
    AllowPreloadingWithCSPMetaTag
    AOM Aria Relationship Properties Aria Owns
    AOMAriaRelationshipPropertiesAriaOwns
    App Title
    AppTitle
    Aria Actions
    AriaActions
    Audio Video Tracks
    AudioVideoTracks
    Auto Picture In Picture Video Heuristics
    AutoPictureInPictureVideoHeuristics
    Back Forward Cache Experiment HTTP Header
    BackForwardCacheExperimentHTTPHeader
    Blocking Focus Without User Activation
    BlockingFocusWithoutUserActivation
    Browser Initiated Automatic Picture In Picture
    BrowserInitiatedAutomaticPictureInPicture
    Built In AI API
    BuiltInAIAPI
    Cache Storage Code Cache Hint
    CacheStorageCodeCacheHint
    Canvas2d Canvas Filter
    Canvas2dCanvasFilter
    Canvas2d GPU Transfer
    Canvas2dGPUTransfer
    Canvas2d Layers With Options
    Canvas2dLayersWithOptions
    Canvas Element Draw Image
    CanvasElementDrawImage
    Canvas Gradient CSS Color4
    CanvasGradientCSSColor4
    Canvas HDR
    CanvasHDR
    Canvas Place Element
    CanvasPlaceElement
    Composite BG Color Animation
    CompositeBGColorAnimation
    Composite Clip Path Animation
    CompositeClipPathAnimation
    Computed Accessibility Info
    ComputedAccessibilityInfo
    Correct Template Form Parsing
    CorrectTemplateFormParsing
    CSS Accent Color Keyword
    CSSAccentColorKeyword
    CSS Color Contrast
    CSSColorContrast
    CSS Color Typed OM
    CSSColorTypedOM
    CSS Container Progress Notation
    CSSContainerProgressNotation
    CSS Cross Fade
    CSSCrossFade
    CSS Layout API
    CSSLayoutAPI
    CSS Line Clamp
    CSSLineClamp
    CSS Media Progress Notation
    CSSMediaProgressNotation
    CSS Paint API Arguments
    CSSPaintAPIArguments
    CSS Pseudo Has Slotted
    CSSPseudoHasSlotted
    CSS Scope Import
    CSSScopeImport
    CSS Scroll Marker Contain
    CSSScrollMarkerContain
    CSS Selector Fragment Anchor
    CSSSelectorFragmentAnchor
    CSS Supports At Rule Function
    CSSSupportsAtRuleFunction
    CSS Video Dynamic Range Media Queries
    CSSVideoDynamicRangeMediaQueries
    Customizable Select In Page
    CustomizableSelectInPage
    Desktop Capture Disable Local Echo Control
    DesktopCaptureDisableLocalEchoControl
    Device Attributes Permission Policy
    DeviceAttributesPermissionPolicy
    Device Bound Session Credentials
    DeviceBoundSessionCredentials
    Dialog Close When Open Removed
    DialogCloseWhenOpenRemoved
    Disable Hardware Noise Suppression
    DisableHardwareNoiseSuppression
    Disable Third Party Storage Partitioning3
    DisableThirdPartyStoragePartitioning3
    Display Contents Focusable
    DisplayContentsFocusable
    Document Open Origin Alias Removal
    DocumentOpenOriginAliasRemoval
    Document Policy Document Domain
    DocumentPolicyDocumentDomain
    Document Policy Negotiation
    DocumentPolicyNegotiation
    Document Policy Sync XHR
    DocumentPolicySyncXHR
    DOM Parts API
    DOMPartsAPI
    Event Timing Interaction Count
    EventTimingInteractionCount
    Experimental Content Security Policy Features
    ExperimentalContentSecurityPolicyFeatures
    Experimental JS Profiler Markers
    ExperimentalJSProfilerMarkers
    Experimental Policies
    ExperimentalPolicies
    File System Observer Unobserve
    FileSystemObserverUnobserve
    Freeze Frames On Visibility
    FreezeFramesOnVisibility
    Get Display Media Requires User Activation
    GetDisplayMediaRequiresUserActivation
    HTML Anchor Attribute
    HTMLAnchorAttribute
    HTML Interest Target Attribute
    HTMLInterestTargetAttribute
    Inner HTML Parser Fastpath Log Failure
    InnerHTMLParserFastpathLogFailure
    Interoperable Private Attribution
    InteroperablePrivateAttribution
    Java Script Compile Hints Per Function Magic Runtime
    JavaScriptCompileHintsPerFunctionMagicRuntime
    Keyboard Accessible Tooltip
    KeyboardAccessibleTooltip
    Language Detection API For Workers
    LanguageDetectionAPIForWorkers
    Limit Third Party Cookies
    LimitThirdPartyCookies
    Local Network Access Permission Policy
    LocalNetworkAccessPermissionPolicy
    Long Animation Frame Source Char Position
    LongAnimationFrameSourceCharPosition
    Media Capabilities Encoding Info
    MediaCapabilitiesEncodingInfo
    Media Capture Camera Controls
    MediaCaptureCameraControls
    Media Capture Configuration Change
    MediaCaptureConfigurationChange
    Media Source Experimental
    MediaSourceExperimental
    Navigate Event Commit Behavior
    NavigateEventCommitBehavior
    Notification Triggers
    NotificationTriggers
    Offscreen Canvas Commit
    OffscreenCanvasCommit
    Origin Policy
    OriginPolicy
    Overscroll Customization
    OverscrollCustomization
    Partitioned Popins
    PartitionedPopins
    Performance Mark Feature Usage
    PerformanceMarkFeatureUsage
    Per Method Can Make Payment Quota
    PerMethodCanMakePaymentQuota
    Permissions Request Revoke
    PermissionsRequestRevoke
    Prefers Reduced Data
    PrefersReducedData
    Preload Link Rel Data Urls
    PreloadLinkRelDataUrls
    Private Network Access Non Secure Contexts Allowed
    PrivateNetworkAccessNonSecureContextsAllowed
    Push Messaging Subscription Change
    PushMessagingSubscriptionChange
    Render Surface For2 D Scale Transform
    RenderSurfaceFor2DScaleTransform
    Resource Timing Content Encoding
    ResourceTimingContentEncoding
    Resource Timing Content Type
    ResourceTimingContentType
    Restrict Gamepad Access
    RestrictGamepadAccess
    Rtc Audio Jitter Buffer Max Packets
    RtcAudioJitterBufferMaxPackets
    RTC Encoded Audio Frame Abs Capture Time
    RTCEncodedAudioFrameAbsCaptureTime
    RTC Encoded Video Frame Additional Metadata
    RTCEncodedVideoFrameAdditionalMetadata
    RTC Legacy Callback Based Get Stats
    RTCLegacyCallbackBasedGetStats
    RTC Stats Relative Packet Arrival Delay
    RTCStatsRelativePacketArrivalDelay
    Scoped Custom Element Registry
    ScopedCustomElementRegistry
    Scoped View Transitions
    ScopedViewTransitions
    Scroll Anchor Priority Candidate Subtree
    ScrollAnchorPriorityCandidateSubtree
    Scroll Timeline Current Time
    ScrollTimelineCurrentTime
    Secure Payment Confirmation Availability API
    SecurePaymentConfirmationAvailabilityAPI
    Secure Payment Confirmation Network And Issuer Icons
    SecurePaymentConfirmationNetworkAndIssuerIcons
    Sensor Extra Classes
    SensorExtraClasses
    Service Worker Client Lifecycle State
    ServiceWorkerClientLifecycleState
    Set Sequential Focus Starting Point
    SetSequentialFocusStartingPoint
    Signature Based Inline Integrity
    SignatureBasedInlineIntegrity
    Skip Callbacks When Dev Tools Not Open
    SkipCallbacksWhenDevToolsNotOpen
    Speaker Selection
    SpeakerSelection
    Speculation Rules Target Hint
    SpeculationRulesTargetHint
    Storage Buckets Durability
    StorageBucketsDurability
    Storage Buckets Locks
    StorageBucketsLocks
    Strict Mime Types For Workers
    StrictMimeTypesForWorkers
    Svg Script Element Async Attribute
    SvgScriptElementAsyncAttribute
    Synthesized Keyboard Events For Accessibility Actions
    SynthesizedKeyboardEventsForAccessibilityActions
    System Wake Lock
    SystemWakeLock
    Text Emphasis Position Auto
    TextEmphasisPositionAuto
    Text Fragment API
    TextFragmentAPI
    Timestamp Based CLS Tracking
    TimestampBasedCLSTracking
    Time Zone Change Event
    TimeZoneChangeEvent
    Topics Img API
    TopicsImgAPI
    Top Level Tpcd
    TopLevelTpcd
    Translation API For Workers
    TranslationAPIForWorkers
    Translation API V1
    TranslationAPIV1
    Trusted Type Before Policy Creation Event
    TrustedTypeBeforePolicyCreationEvent
    Trusted Types From Literal
    TrustedTypesFromLiteral
    Trusted Types Use Code Like
    TrustedTypesUseCodeLike
    Unclosed Form Control Is Invalid
    UnclosedFormControlIsInvalid
    Unencoded Digest
    UnencodedDigest
    URL Pattern Compare Component
    URLPatternCompareComponent
    User Defined Entry Point Timing
    UserDefinedEntryPointTiming
    Video Frame Metadata Background Blur
    VideoFrameMetadataBackgroundBlur
    Web App Translations
    WebAppTranslations
    Web Assembly JS Promise Integration
    WebAssemblyJSPromiseIntegration
    Web Authentication Ambient
    WebAuthenticationAmbient
    Web Authentication Attestation Formats
    WebAuthenticationAttestationFormats
    Web Authentication Challenge Url
    WebAuthenticationChallengeUrl
    Web Authentication Supplemental Pub Keys
    WebAuthenticationSupplementalPubKeys
    Web Bluetooth Get Devices
    WebBluetoothGetDevices
    Web Bluetooth Scanning
    WebBluetoothScanning
    Web Bluetooth Watch Advertisements
    WebBluetoothWatchAdvertisements
    Web Codecs Video Encoder Buffers
    WebCodecsVideoEncoderBuffers
    Web Font Resize LCP
    WebFontResizeLCP
    WebGL Developer Extensions
    WebGLDeveloperExtensions
    WebGPU Feature Level
    WebGPUFeatureLevel
    Web Transport Stats
    WebTransportStats
    Web U I Bundled Code Cache Async Fetch
    WebUIBundledCodeCacheAsyncFetch
    Web View XR equested With Deprecation
    WebViewXRequestedWithDeprecation
    Web VTT Regions
    WebVTTRegions
    Web XR Frame Rate
    WebXRFrameRate
    Web XR Front Facing
    WebXRFrontFacing
    Web XR GPU Binding
    WebXRGPUBinding
    Web XR Hit Test Entity Types
    WebXRHitTestEntityTypes
    Web XR Image Tracking
    WebXRImageTracking
    Web XR Layers Common
    WebXRLayersCommon
    Web XR Plane Detection
    WebXRPlaneDetection
    Web XR Pose Motion Data
    WebXRPoseMotionData
    Window On Move Event
    WindowOnMoveEvent

Chromium 136 Polypane 24.1.2

  • Audio Context Playout Stats
    AudioContextPlayoutStatschromestatus.com

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

  • Boundary Event Dispatch Tracks Node Removal
    BoundaryEventDispatchTracksNodeRemovalchromestatus.com

    After an event target gets removed from the DOM, the logical target of the pointer as implied by the Pointer and Mouse boundary events (i.e. over, out, enter and leave events) should be the nearest ancestor still attached to the DOM. PEWG has recently reached consensus on this behavior, see https://github.com/web-platform-tests/interop/issues/380. Chrome has been keeping track of a node even after it gets removed from DOM. As a result, if the pointer moves to a new node B after the hit-test node A is removed from DOM, the boundary event sequence (pointerover, pointerout, pointerenter, pointerleave events and the corresponding mouse events) used to imply a pointer movement from A to B. As per the new consensus, the event sequence should imply a pointer movement from the "parent of A" to B.

  • Canvas Floating Point
    CanvasFloatingPointchromestatus.com

    Introduce the the ability to use floating point pixel formats (as opposed to 8-bit fixed point) with CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D, and ImageData. This is necessary for high precision applications (e.g, medical visualization), high dynamic range content, and linear working color spaces.

  • Canvas Text Ng
    CanvasTextNgchromestatus.com

    This is not a web-exposed change. The implementation of CanvasRenderingContext2D's measureText(), fillText(), and strokeText() has a drastic change. This might affect performance, so we'd like to run an origin trial so canvas-heavy applications can try out the new implementation.

  • Capability Delegation Display Capture Request
    CapabilityDelegationDisplayCaptureRequestchromestatus.com

    This feature is based on the general delegation mechanism (https://chromestatus.com/feature/5708770829139968) shipped on M100. Display-Capture Capability Delegation allows a Window to transfer the ability to call navigator.mediaDevices.getDisplayMedia() to another Window it trusts after relinquishing the transient user activation at the sender Window.

  • Container Timing
    ContainerTimingchromestatus.com

    The Container Timing API enables monitoring when annotated sections of the DOM are displayed on screen and have finished their initial paint. A developer will have the ability to mark subsections of the DOM with the containertiming attribute (similar to elementtiming for the Element Timing API) and receive performance entries when that section has been painted for the first time. This API will allow developers to measure the timing of various components in their pages.

  • Context Menu

    Change “click”, “contextmenu”, “auxclick” events to PointerEvent (instead of MouseEvent) to let developers: distinguish between mouse, pen and individual fingers in a multitouch interaction through pointerType and pointerId attributes, and utilize fractional event coordinates for high precision use cases.

  • Controlled Frame
    ControlledFramechromestatus.com

    Adds a Controlled Frame API available only to Isolated Web Apps (IWAs). This work adds 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 Caret Animation
    CSSCaretAnimationchromestatus.com

    Chromium supports animation of the caret-color property, but when animated the default blinking behavior of the caret interferes with the animation. For instance, see the example at https://drafts.csswg.org/css-ui/#caret-animation where an animation from blue to red and back is rendered as a blinking cursor that is randomly blue or red. The CSS caret-animation property has two possible values: auto and manual, where auto means browser default (blinking) and manual means the page author is controlling the caret animation. In addition, via a user stylesheet, it allows users who are disturbed by or have adverse reactions to blinking or flashing visuals to disable the blinking.

  • CSS Corner Shape
    CSSCornerShapechromestatus.com

    Enable styling corners, on top of the existing border-radius, by expressing the shape/curvature of the corner as a superellipse. This allows shapes like squircles, notches, scoops etc., and animating between them.

  • CSS Functions
    CSSFunctionschromestatus.com

    Custom Functions are similar to custom properties, but instead of returning a single, fixed value, they return values based on other custom properties, parameters, and conditionals.

  • CSS Inline If For Media Queries
    CSSInlineIfForMediaQuerieschromestatus.com

    The CSS if() function provides a concise way to express conditional values. It accepts a series of condition-value pairs, delimited by semicolons. The function evaluates each condition sequentially and returns the value associated with the first true condition. If none of the conditions evaluate to true, the function returns an empty token stream. This allows web authors to express complex conditional logic in a simple and concise way. Example: <style> div { color: var(--color); background-color: if(style(--color: white): black; else: white); } .dark { --color: black; } .light { --color: white; } </style> <div class="dark">dark</div> <div class="light">light</div>

  • CSS Inline If For Style Queries
    CSSInlineIfForStyleQuerieschromestatus.com

    The CSS if() function provides a concise way to express conditional values. It accepts a series of condition-value pairs, delimited by semicolons. The function evaluates each condition sequentially and returns the value associated with the first true condition. If none of the conditions evaluate to true, the function returns an empty token stream. This allows web authors to express complex conditional logic in a simple and concise way. Example: <style> div { color: var(--color); background-color: if(style(--color: white): black; else: white); } .dark { --color: black; } .light { --color: white; } </style> <div class="dark">dark</div> <div class="light">light</div>

  • CSS Inline If For Supports Queries
    CSSInlineIfForSupportsQuerieschromestatus.com

    The CSS if() function provides a concise way to express conditional values. It accepts a series of condition-value pairs, delimited by semicolons. The function evaluates each condition sequentially and returns the value associated with the first true condition. If none of the conditions evaluate to true, the function returns an empty token stream. This allows web authors to express complex conditional logic in a simple and concise way. Example: <style> div { color: var(--color); background-color: if(style(--color: white): black; else: white); } .dark { --color: black; } .light { --color: white; } </style> <div class="dark">dark</div> <div class="light">light</div>

  • CSS Preferred Text Scale
    CSSPreferredTextScalechromestatus.com

    Exposes a user's preferred font scale to CSS. Currently, it is not practical for a page to detect if the user has changed their preferred font size via the Operating System's preferences. This CSS environment variable will reflect the scale chosen by the user.

  • CSS Progress Notation
    CSSProgressNotationchromestatus.com

    The progress() functional notation returns a <number> value representing the position of one calculation (the progress value) between two other calculations (the progress start value and progress end value). progress() is a math function. The syntax of progress() is defined as follows: <progress()> = progress(<calc-sum>, <calc-sum>, <calc-sum>) where the first, second, and third <calc-sum> values represent the progress value, progress start value, and progress end value, respectively.

  • CSS Reading Flow
    CSSReadingFlowchromestatus.com

    The reading-flow CSS property controls the order in which elements in a flex, grid or block layout are exposed to accessibility tools and focused via TAB keyboard focus navigation. This change implements the CSS reading-flow keyword values: * normal * flex-visual * flex-flow * grid-rows * grid-columns * grid-order * source-order See spec: https://drafts.csswg.org/css-display-4/#reading-flow The reading-order CSS property allows authors to manually-override the order within a reading flow container. It is an integer with default value 0. See spec: https://drafts.csswg.org/css-display-4/#reading-order Please find more thorough examples of how TAB keyboard navigation and accessibility is improved by this feature here: https://chrome.dev/reading-flow-examples/

  • CSS Sibling Functions
    CSSSiblingFunctionschromestatus.com

    sibling-index() and sibling-count() can be used as integers in CSS property values to style elements based on their position among its siblings, or the total number of siblings respectively. These functions can be used directly as integer values, but more interestingly inside calc() expressions. Example: li { margin-left: calc(10px * sibling-index()); }

  • CSS Sign Related Functions
    CSSSignRelatedFunctionschromestatus.com

    The sign-related functions ​abs() and sign() ​compute various functions related to the sign of their argument. The abs(A) function contains one calculation A, and returns the absolute value of A, as the same type as the input: if A’s numeric value is positive or 0⁺, just A again; otherwise -1 * A. The sign(A) function contains one calculation A, and returns -1 if A’s numeric value is negative, +1 if A’s numeric value is positive, 0⁺ if A’s numeric value is 0⁺, and 0⁻ if A’s numeric value is 0⁻. The return type is a <number>, made consistent with the input calculation’s type.

  • CSS System Accent Color
    CSSSystemAccentColorchromestatus.com

    This feature empowers web developers to enhance the visual appeal of their websites by leveraging the operating system's accent color for form elements. By utilizing the "accent-color" CSS property, developers can ensure that form elements such as checkboxes, radio buttons, and progress bars automatically adopt the accent color defined by the user's operating system. This feature is an enhancement to existing feature that is already shipped in Chromium: https://groups.google.com/a/chromium.org/g/blink-dev/c/WwYkLjbGhoA

  • CSS Text Auto Space
    CSSTextAutoSpacechromestatus.com

    Inserts small spacings to match the established typographic rules automatically. The spec currently defines one rule for Han ideographic characters and one for French. The initial implementation focuses on the Han ideographic characters rule. Text written in Han ideographic writing systems often mixes multiple scripts, usually the Han ideographic scripts, Latin scripts, and ASCII digits. Small spacings when switching from and to non-Han ideographic scripts often help the readability. This property lets browsers insert such spacings automatically. This property has several values, including values for other writing systems. The initial implementation supports `normal` and `no-autospace`. The initial value is set to `no-autospace` to start conservatively and be more careful for the site compatibilities. Authors can add `text-autospace: normal` to enable the feature.

  • CSS View Transition Auto Name
    CSSViewTransitionAutoNamechromestatus.com

    Contact emails vmpstr@chromium.org, nrosenthal@chromium.org Explainer None Specification https://drafts.csswg.org/css-view-transitions-2/#auto-vt-name Summary 'auto' uses the element's id attribute to generate a unique match for view transition cases. In absence of the id, it generates a unique id based on the element's identity and remains the same for this element. This is used in Single Page App or Multi Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

  • CSS View Transition Match Element
    CSSViewTransitionMatchElementchromestatus.com

    'match-element' generates a unique id based on the element's identity and renames the same for this element. This is used in Single Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

  • Device Orientation Request Permission
    DeviceOrientationRequestPermissionchromestatus.com

    Allows developers to ask for permission to use the Device Orientation and Device Motion APIs. Access to these APIs is currently granted by default, and these new functions are part of the long-term plan to require requesting permission before using window.ondevicemotion and window.ondeviceorientation.

  • Dialog New Focus Behavior
    DialogNewFocusBehaviorchromestatus.com

    Some changes are being made to which element is selected to get focus when a dialog element is opened: 1. Make the dialog focusing steps look at keyboard focusable elements instead of any focusable element. 2. Make the dialog element itself get focus if it has the autofocus attribute set. 3. Make the dialog element itself get focus as a fallback instead of focus being "reset" to the body element.

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

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

  • Escape Lt Gt In Attributes
    EscapeLtGtInAttributeschromestatus.com

    Escape "<" and ">" in values of attributes on serialization. This mitigates the risk of mutation XSS attacks, which occur when value of an attribute is interpreted as a start tag token after being serialized and re-parsed.

  • Extended Text Metrics
    ExtendedTextMetricschromestatus.com

    Expand the TextMetrics Canvas API to support selection rectangles, bounding box queries, and grapheme cluster-based operations. This new functionality should enable complex text editing applications with accurate selection, caret positioning, and hit testing. Additionally, cluster-based rendering facilitates sophisticated text effects such as independent character animations and styling.

  • Face Detector
    FaceDetectorchromestatus.com

    The Face Detection API is a subset of the Shape Detection API which provides the ability to detect human faces and facial landmarks in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • File System Access API Experimental
    FileSystemAccessAPIExperimentalchromestatus.com

    Currently, the File System Access API does not support an efficient way to move or rename files or directories. This requires creating a new file/directory, copying over data (recursively, in the case of a directory), and removing the original. This process is slow, error prone (e.g. disk full), and can require re-uploading files in some cases. See https://github.com/WICG/file-system-access/pull/317

  • Focusgroup

    The Focusgroup feature will facilitate keyboard focus navigation using the keyboard arrow keys among a set of focusable elements.

  • Gamepad Multitouch
    GamepadMultitouchchromestatus.com

    Extend the Gamepad API to support multitouch surfaces (touchpads). Providing a touchpad API eases application implementation and provides greater functionality browser interoperability.

  • Heading Offset
    HeadingOffsetchromestatus.com

    A system for creating structured headings within a document. The `headingoffset=` attribute can be added to elements that influences the child `h1`-`h6` elements' heading levels, for example a `headingoffset=1` will mean all `h1` elements will have an effective heading level of 2, and so on. In addition the `:heading` pseudo class will select all headings (tags of `h1` to `h6`) and the `:heading(N)` pseudo class will select headings with an _effective_ level of `N`. This allows for documents with different heading structures (for example user generated content) to be combined to create a well defined heading structure without significantly altering the underlying documents.

  • HTML Command Request Close
    HTMLCommandRequestClosechromestatus.com

    Dialog elements can be closed through a variety of mechanisms, sometimes developers want to have the ability to prevent closure. To achieve this dialogs fire a cancel event. Originally this was only fired via a close request (e.g. ESC key press), recently a `requestClose()` JS function was added which also fires the cancel event. The 'request-close' command brings that new ability to the declarative invoker commands API.

  • Indexed Db Get All Records
    IndexedDbGetAllRecordschromestatus.com

    This feature adds the getAllRecords() API to IndexedDB's IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality enables certain read patterns to be significantly faster when compared to the existing alternative of iteration with cursors. One key workload from a Microsoft property showed a 350ms improvement. getAllRecords() effectively combines getAllKeys() and getAll() by enumerating 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. getAllRecords() can optionally return records in either ascending or descending order. This option is also back-ported to the existing operations getAll() and getAllKeys().

  • Install On Device Speech Recognition
    InstallOnDeviceSpeechRecognitionchromestatus.com

    This feature adds on-device speech recognition support to the Web Speech API, allowing websites to ensure that neither audio nor transcribed speech are sent to a third-party service for processing. Websites can query the availability of on-device speech recognition for specific languages, prompt users to install the necessary resources for on-device speech recognition, and choose between on-device or cloud-based speech recognition as needed.

  • Inverted Colors
    InvertedColorschromestatus.com

    Adds the `inverted-colors` media feature, an indication that the user agent or underlying operating system has forcibly inverted all colors, not a request to do so. This is sometimes provided as a simple accessibility feature, allowing users to switch between light-on-dark and dark-on-light text. Valid options are 'inverted' or 'none'.

  • Language Detection API
    LanguageDetectionAPIchromestatus.com

    A JavaScript API for detecting the language of text, with confidence levels. An important supplement to translation is language detection. This can be combined with translation, e.g. taking user input in an unknown language and translating it to a specific target language. Browsers today often already have langauge detection capabilities, and we want to offer them to web developers through a JavaScript API, supplementing the translation API. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable.

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

  • Media Capture Background Blur
    MediaCaptureBackgroundBlurchromestatus.com

    The Background Blur API allows web developers to use the native platform's API for camera background segmentation. As Background Blur has become one of the most used features on video conferencing apps like Teams, Meet, Zoom, and Webex, we want web apps to leverage the same platform APIs without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions.

  • Media Capture Voice Isolation
    MediaCaptureVoiceIsolationchromestatus.com

    This is about adding support in Chrome for the VoiceIsolation getUserMedia constraint (https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint). The constraint only takes effect on platforms where there is low-level support for voice-isolation style denoising. Currently this is limited to a selected number of ChromeOS devices, but further platforms will be added.

  • Media Source Extensions For Web Codecs
    MediaSourceExtensionsForWebCodecschromestatus.com

    Extends the Media Source Extensions API (MSE) to enable buffering containerless WebCodecs encoded media chunks with MSE for low-latency buffering and seekable playback.

  • Media Source New Abort And Duration
    MediaSourceNewAbortAndDurationchromestatus.com

    The Media Source standard long ago changed to disallow ambiguously defined behavior involving asynchronous range removals: * SourceBuffer.abort() no longer aborts SourceBuffer.remove() operations * Setting MediaSource.duration can no longer truncate currently buffered media Exceptions will be thrown in both of these cases now. Safari and Firefox have long shipped this behavior, Chromium is the last browser remaining with the old behavior. Use counters show ~0.001%-0.005% of page loads hit the deprecated behavior. Primarily small Russian sites. If a site hits this issue, playback may now break. Usage of abort() cancelling removals is increasing, so it's prudent to resolve this deprecation before more incompatible usage appears.

  • Multicol Column Wrapping
    MulticolColumnWrappingchromestatus.com

    Add support for the `column-wrap` and `column-height` CSS properties, from multicol Level 2. https://drafts.csswg.org/css-multicol-2/#cwr https://drafts.csswg.org/css-multicol-2/#ch This allows for vertical column layout, or even 2D column layout. Columns can have an explicit constrained height, apart from being derived from the content-box height of the multicol container, and wrap to a new row of columns when all columns have been filled for one row, rather than creating overflowing columns in the inline direction.

  • Navigation Id
    NavigationIdchromestatus.com

    This adds a Performance Timeline entry type, "back-forward-cache-restoration", which is emitted every time that a page is retrieved from the back-forward cache, and a field on all performance timeline entries, "navigationId", which can be used to tie performance events to the most recent navigation-like event. This allows developers to more easily use the performance APIs to compare the user experience of an SPA or a bfcache-eligible page with that of a traditional multi-page experience.

  • Nested View Transition
    NestedViewTransitionchromestatus.com

    Allow view-transitions to generate a nested pseudo-element tree rather than a flat one. This allows the view transition to appear more in line with its original elements and visual intent, as it enables clipping, nested 3D transforms, and proper application of effects like opacity, masking and filters.

  • On Device Web Speech Available
    OnDeviceWebSpeechAvailablechromestatus.com

    This feature enables websites to support contextual biasing for speech recognition by adding a recognition phrase list to the Web Speech API. Developers can provide a list of phrases as well as updating them to apply a bias to the speech recognition models in favor of those phrases. This helps improve accuracy and relevance for domain-specific and personalized speech recognition.

  • Paint Timing Mixin
    PaintTimingMixinchromestatus.com

    Expose "paintTime" and "presentationTime" in event timing, element timing, LCP, long animation frames, paint timing. "paintTime" means the time when the rendering phase ended and the browser started the paint phase. "presentationTime" means the time when the "pixels reached the screen", which is somewhat implementation-defined

  • Payment App

    The API helps to develop new payment apps in web standard ways (e.g. service worker). If using them, payment app providers can provide simplified payment methods and user experiences.

  • Payment Link Detection
    PaymentLinkDetectionchromestatus.com

    Adds support for <link rel="facilitated-payment" href="..."> as a hint that the browser should notify registered payment clients about a pending push payment.

  • Payment Request
    PaymentRequestchromestatus.com

    To help developers reduce friction in Payment Request flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change.

  • Performance Navigation Timing Confidence
    PerformanceNavigationTimingConfidencechromestatus.com

    Web applications may suffer from bimodal distribution in page load performance, due to factors outside of the web application’s control. For example: * When a user agent first launches (a "cold start" scenario), it must perform many expensive initialization tasks that compete for resources on the system. * Browser extensions can affect the performance of a website. For instance, some extensions run additional code on every page you visit, which can increase CPU usage and result in slower response times. * When a machine is busy performing intensive tasks, it can lead to slower loading of web pages. In these scenarios, content the web app attempts to load will be in competition with other work happening on the system. This makes it difficult to detect if performance issues exist within web applications themselves, or because of external factors. Teams we have worked with have been surprised at the difference between real-world dashboard metrics and what they observe in page profiling tools. Without more information, it is challenging for developers to understand if (and when) their applications may be misbehaving or are simply being loaded in a contended period. A new ‘confidence’ field on the PerformanceNavigationTiming object will enable developers to discern if the navigation timings are representative for their web application.

  • Permission Element
    PermissionElementchromestatus.com

    Provide a new HTML element that interacts with the permission flow. The permission prompt is currently triggered directly from JS without the user agent having any strong signal of the user's intent. Having an in-content element that the user uses to trigger the permission flow allows for improved permission prompt UX for users as well as a recovery path from the "denied" permission state for sites. Explainer: https://github.com/WICG/PEPC/blob/main/explainer.md Instructions: https://github.com/WICG/PEPC/blob/main/HOWTO.md Developer facing documentation: https://developer.chrome.com/blog/permission-element-origin-trial

  • Preferred Audio Output Devices
    PreferredAudioOutputDeviceschromestatus.com

    This feature adds setDefaultSinkId() to MediaDevices, which enables the top-level frame to change the default audio output device used by its subframes.

  • Private Aggregation Api Error Reporting
    PrivateAggregationApiErrorReportingchromestatus.com

    There are a range of error conditions that can be hit when using the Private Aggregation API. For example, the privacy budget could run out, preventing any further histogram contributions. This feature allows developers to register histogram contributions that should only be sent if a particular type of error occurs. This feature supports measuring the frequency of the error conditions and to split these measurements on relevant developer-specified dimensions (e.g. version of deployed code). As the errors themselves may be cross-site information, we cannot simply expose them to the page for users without third-party cookies. Instead, this feature reuses the existing aggregate, noised reporting pipelines through the Aggregation Service.

  • Private Network Access Null Ip Address
    PrivateNetworkAccessNullIpAddresschromestatus.com

    We propose to block access to IP address 0.0.0.0 in advance of PNA completely rolling out. Chrome is deprecating direct access to private network endpoints from public websites as part of the Private Network Access (PNA) specification (https://developer.chrome.com/blog/private-network-access-preflight/). Services listening on the localhost (127.0.0.0/8) are considered private according to the specification (https://wicg.github.io/private-network-access/#ip-address-space-heading). Chrome's PNA protection (rolled out as part of https://chromestatus.com/feature/5436853517811712) can be bypassed using the IP address 0.0.0.0 to access services listening on the localhost on macOS and Linux. This can also be abused in DNS rebinding attacks targeting a web application listening on the localhost. Since 0.0.0.0 is not used in practice (and should not be used), but was overlooked during https://chromestatus.com/feature/5436853517811712, we're deprecating it separately from the rest of the private network requests deprecation.

  • Rel Opener Bcg Dependency Hint
    RelOpenerBcgDependencyHintchromestatus.com

    Extends the use of the "opener" rel type to same-window navigations to signal to the browser that the destination page will open a new window and the referring page expects to be able to access it. Some user agents perform browsing context group changes on navigation that aren't strictly necessary for security in order to improve performance. This results in named window reuse not being possible across a back navigation. Annotating an anchor element with "opener" will signal to the user agent that performing a browsing context group change would break a future opener relationship.

  • 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 Encoded Frame Set Metadata
    RTCEncodedFrameSetMetadatachromestatus.com

    Allow WebRTC Encoded Transform API to manipulate audio and video frame metadata. Some WebRTC Encoded Transform use cases involve manipulation of not only the payload of encoded video / audio frames but also its metadata. Some examples: * Altering the timestamp of a frame to introduce a delay, * Changing the mime type of the frame if the transform changes the type of the payload. * Forwarding of media to a new peer connection set up to use different metadata values Use cases: https://w3c.github.io/webrtc-nv-use-cases/#live-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#stored-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#auction Issue link: https://github.com/w3c/webrtc-nv-use-cases/issues/77

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

  • Search Text Highlight Pseudo
    SearchTextHighlightPseudochromestatus.com

    Exposes find-in-page search result styling to authors as a highlight pseudo-element, like selection and spelling errors. This allows authors to change the foreground and background colors or add text decorations, which can be especially useful if the UA defaults have insufficient contrast with the page colors or are otherwise unsuitable.

  • Selection Across Shadow DOM
    SelectionAcrossShadowDOMchromestatus.com

    This feature ships two new API methods for the Selection API: * Selection.direction which returns the selection's direction as either "none", "forward" or "backward" * Selection.getComposedRanges() which returns a list of 0 or 1 “composed” StaticRange A “composed” StaticRange is allowed to cross shadow boundaries, which normal Ranges cannot. For example: const range = getSelection().getComposedRanges({ shadowRoots: [root] }); If the selection crosses a shadow root boundary that isn’t provided in the shadowRots list, then the StaticRange's endpoints will be “rescoped” to be outside that tree. This makes sure we do not expose unknown shadow trees.

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

  • Signature Based Integrity
    SignatureBasedIntegritychromestatus.com

    This feature provides web developers with a mechanism to verify the provenance of resources they depend upon, creating a technical foundation for trust in a site's dependencies. In short: servers can sign responses with a Ed25519 key pair, and web developers can require the user agent to verify the signature using a specific public key. This offers a helpful addition to URL-based checks offered by Content Security Policy on the one hand, and Subresource Integrity's content-based checks on the other.

  • Soft Navigation Heuristics
    SoftNavigationHeuristicschromestatus.com

    Exposes the (experimental) soft navigation heuristics to web developers, using both PerformanceObserver and the performance timeline. This feature reports two new performance entries: - "soft-navigation", for user interactions which navigate the page. Defines a new timeOrigin to help slice the performance timeline. - "interaction-contentful-paint", which reports on the loading performance of interactions (beyond just next paint), used as LCP for soft-navigations.

  • Text Detector
    TextDetectorchromestatus.com

    The Text Detection API is a subset of the Shape Detection API which provides the ability to detect and optionally transcribe text in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • Tpcd

    This experiment exposes a temporary set of APIs which provide access to browser-determined treatment and control groups to support opt-in server side testing of the third-party cookie deprecation.

  • Viewport Segments
    ViewportSegmentschromestatus.com

    The Viewport Segments API allows developers to adapt their website/webapp layout to target foldable devices. The viewport segments defines the position and dimensions of a logically separate region of the viewport. Viewport segments are created when the viewport is split by one or more hardware features (such as a fold or a hinge between separate displays) that act as a divider; segments are the regions of the viewport that can be treated as logically distinct by the author.

  • Web App Installation
    WebAppInstallationchromestatus.com

    The Web Install API allows a web site to install a web app (same or cross domain). This functionality allows the creation of web based catalogues that can install PWAs directly from the web and into multiple platforms. https://aka.ms/webinstall

  • Web App Scope Extensions
    WebAppScopeExtensionschromestatus.com

    Adds a "scope_extensions" web app manifest field that enables web apps to extend their scope to other origins. Example usage: { "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ {"type" : "origin", "origin" : "https://example.com"} ] } This allows sites that control multiple subdomains and top level domains to be presented as a single web app. Requires listed origins to confirm association with the web app using a .well-known/web-app-origin-association configuration file. { "https://sample-app.com/": { "scope": "/" } }

  • Web Authentication Align Error Type For Payment Credential Create
    WebAuthenticationAlignErrorTypeForPaymentCredentialCreatechromestatus.com

    Correct the error type thrown during WebAuthn credential creation for 'payment' credentials. Due to a historic specification mismatch, creating a 'payment' credential in a cross-origin iframe without a user activation would throw a SecurityError instead of a NotAllowedError, which is what is thrown for non-payment credentials. This is a breaking change, albeit a niche one. Code that previously detected the type of error thrown (e.g., `e instanceof SecurityError`) would be affected. Code that just generally handles errors during credential creation (e.g. `catch (e)`) will continue to function correctly.

  • Web Authentication Immediate Get
    WebAuthenticationImmediateGetchromestatus.com

    A mediation mode for navigator.credentials.get() that causes browser sign-in UI to be displayed to the user if there is a passkey or password for the site that is immediately known to the browser, or else rejects the promise with NotAllowedError if there is no such credential available. This allows the site to avoid showing a sign-in page if the browser can offer a choice of sign-in credentials that are likely to succeed, while still allowing a traditional sign-in page flow for cases where there are no such credentials.

  • Web Codecs Orientation
    WebCodecsOrientationchromestatus.com

    Introduces "rotation: int" and "flip: bool" values to various video related interfaces in WebCodecs so that developers can work with frame sources that have orientation (E.g., Android cameras, certain media). The VideoFrame interface grows the ability to create VideoFrames with arbitrary rotation and flip as well as accessors for this information on the VideoFrame object. The VideoDecoderConfig object gains rotation and flip fields that are emitted on decoded VideoFrame objects automatically. The VideoEncoder class gains mechanisms for passing rotation and flip information from encode() to the VideoDecoderConfig emitted as part of EncodedVideoChunkMetadata. If encode() is called with frames with different orientations a non-fatal exception will be thrown. configure() may be used to reset the allowed orientation.

  • Web Crypto Ed25519
    WebCryptoEd25519chromestatus.com

    This feature adds support for Curve25519 algorithms in the Web Cryptography API, namely the signature algorithm Ed25519

  • WebGPU Experimental Features
    WebGPUExperimentalFeatureschromestatus.com

    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.

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

  • Web Preferences
    WebPreferenceschromestatus.com

    The Web Preference API aims to provide a way for sites to override the value for a given user preference (e.g. color-scheme preference) in a way that fully integrates with existing Web APIs.

  • Web XR Layers

    WebXR Layers offers a more efficient way of drawing immersive content. In addition to support for native color and depth textures and texture arrays, it also provides support for different layer types that are managed by the system compositor (as opposed to javascript).

  • Web XR Spec Parity
    WebXRSpecParitychromestatus.com

    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

Features in Chromium 136 without description
  • Accessibility Aria Virtual Content
    AccessibilityAriaVirtualContent
    Accessibility Implicit Actions
    AccessibilityImplicitActions
    Accessibility OS Level Bold Text
    AccessibilityOSLevelBoldText
    Accessibility Serialization Size Metrics
    AccessibilitySerializationSizeMetrics
    Address Space
    AddressSpace
    Allow Preloading With CSP Meta Tag
    AllowPreloadingWithCSPMetaTag
    AOM Aria Relationship Properties Aria Owns
    AOMAriaRelationshipPropertiesAriaOwns
    App Title
    AppTitle
    Aria Actions
    AriaActions
    Audio Video Tracks
    AudioVideoTracks
    Auto Picture In Picture Video Heuristics
    AutoPictureInPictureVideoHeuristics
    Back Forward Cache Experiment HTTP Header
    BackForwardCacheExperimentHTTPHeader
    Blocking Focus Without User Activation
    BlockingFocusWithoutUserActivation
    Cache Storage Code Cache Hint
    CacheStorageCodeCacheHint
    Canvas2d Canvas Filter
    Canvas2dCanvasFilter
    Canvas2d GPU Transfer
    Canvas2dGPUTransfer
    Canvas2d Layers With Options
    Canvas2dLayersWithOptions
    Canvas Gradient CSS Color4
    CanvasGradientCSSColor4
    Canvas HDR
    CanvasHDR
    Canvas Place Element
    CanvasPlaceElement
    Composite BG Color Animation
    CompositeBGColorAnimation
    Composite Clip Path Animation
    CompositeClipPathAnimation
    Computed Accessibility Info
    ComputedAccessibilityInfo
    Correct Template Form Parsing
    CorrectTemplateFormParsing
    CSS Accent Color Keyword
    CSSAccentColorKeyword
    CSS Color Contrast
    CSSColorContrast
    CSS Color Typed OM
    CSSColorTypedOM
    CSS Container Progress Notation
    CSSContainerProgressNotation
    CSS Cross Fade
    CSSCrossFade
    CSS Layout API
    CSSLayoutAPI
    CSS Line Clamp
    CSSLineClamp
    CSS Media Progress Notation
    CSSMediaProgressNotation
    CSS Paint API Arguments
    CSSPaintAPIArguments
    CSS Pseudo Has Slotted
    CSSPseudoHasSlotted
    CSS Reading Order
    CSSReadingOrder
    CSS Scope Import
    CSSScopeImport
    CSS Scroll Marker Contain
    CSSScrollMarkerContain
    CSS Selector Fragment Anchor
    CSSSelectorFragmentAnchor
    CSS Shape Function Composite Animation
    CSSShapeFunctionCompositeAnimation
    CSS Supports At Rule Function
    CSSSupportsAtRuleFunction
    CSS Video Dynamic Range Media Queries
    CSSVideoDynamicRangeMediaQueries
    Customizable Select Element Accessibility Issues
    CustomizableSelectElementAccessibilityIssues
    Desktop Capture Disable Local Echo Control
    DesktopCaptureDisableLocalEchoControl
    Device Bound Session Credentials
    DeviceBoundSessionCredentials
    Dialog Close When Open Removed
    DialogCloseWhenOpenRemoved
    Disable Hardware Noise Suppression
    DisableHardwareNoiseSuppression
    Disable Third Party Storage Partitioning3
    DisableThirdPartyStoragePartitioning3
    Display Contents Focusable
    DisplayContentsFocusable
    Document Open Origin Alias Removal
    DocumentOpenOriginAliasRemoval
    Document Policy Document Domain
    DocumentPolicyDocumentDomain
    Document Policy Negotiation
    DocumentPolicyNegotiation
    Document Policy Sync XHR
    DocumentPolicySyncXHR
    DOM Parts API
    DOMPartsAPI
    Event Timing Interaction Count
    EventTimingInteractionCount
    Experimental Content Security Policy Features
    ExperimentalContentSecurityPolicyFeatures
    Experimental JS Profiler Markers
    ExperimentalJSProfilerMarkers
    Experimental Policies
    ExperimentalPolicies
    File System Observer Unobserve
    FileSystemObserverUnobserve
    Freeze Frames On Visibility
    FreezeFramesOnVisibility
    Get Display Media Requires User Activation
    GetDisplayMediaRequiresUserActivation
    HTML Anchor Attribute
    HTMLAnchorAttribute
    HTML Interest Target Attribute
    HTMLInterestTargetAttribute
    Image Data Pixel Format
    ImageDataPixelFormat
    Inner HTML Parser Fastpath Log Failure
    InnerHTMLParserFastpathLogFailure
    Interoperable Private Attribution
    InteroperablePrivateAttribution
    Is Secure Payment Confirmation Available API
    IsSecurePaymentConfirmationAvailableAPI
    Keyboard Accessible Tooltip
    KeyboardAccessibleTooltip
    Limit Third Party Cookies
    LimitThirdPartyCookies
    Long Animation Frame Source Char Position
    LongAnimationFrameSourceCharPosition
    Long Animation Frame Source Line Column
    LongAnimationFrameSourceLineColumn
    Media Capabilities Encoding Info
    MediaCapabilitiesEncodingInfo
    Media Capture Camera Controls
    MediaCaptureCameraControls
    Media Capture Configuration Change
    MediaCaptureConfigurationChange
    Media Source Experimental
    MediaSourceExperimental
    Navigate Event Commit Behavior
    NavigateEventCommitBehavior
    Notification Triggers
    NotificationTriggers
    Offscreen Canvas Commit
    OffscreenCanvasCommit
    Origin Policy
    OriginPolicy
    Overscroll Customization
    OverscrollCustomization
    Partitioned Popins
    PartitionedPopins
    Performance Mark Feature Usage
    PerformanceMarkFeatureUsage
    Per Method Can Make Payment Quota
    PerMethodCanMakePaymentQuota
    Permissions Request Revoke
    PermissionsRequestRevoke
    Plain Text Painter
    PlainTextPainter
    Prefers Reduced Data
    PrefersReducedData
    Private Network Access Non Secure Contexts Allowed
    PrivateNetworkAccessNonSecureContextsAllowed
    Push Messaging Subscription Change
    PushMessagingSubscriptionChange
    Render Surface For2 D Scale Transform
    RenderSurfaceFor2DScaleTransform
    Resource Timing Content Encoding
    ResourceTimingContentEncoding
    Resource Timing Content Type
    ResourceTimingContentType
    Restrict Gamepad Access
    RestrictGamepadAccess
    Rtc Audio Jitter Buffer Max Packets
    RtcAudioJitterBufferMaxPackets
    RTC Encoded Audio Frame Abs Capture Time
    RTCEncodedAudioFrameAbsCaptureTime
    RTC Encoded Video Frame Additional Metadata
    RTCEncodedVideoFrameAdditionalMetadata
    RTC Legacy Callback Based Get Stats
    RTCLegacyCallbackBasedGetStats
    RTC Stats Relative Packet Arrival Delay
    RTCStatsRelativePacketArrivalDelay
    Scoped Custom Element Registry
    ScopedCustomElementRegistry
    Scoped View Transitions
    ScopedViewTransitions
    Scroll Anchor Priority Candidate Subtree
    ScrollAnchorPriorityCandidateSubtree
    Scroll Timeline Current Time
    ScrollTimelineCurrentTime
    Secure Payment Confirmation Network And Issuer Icons
    SecurePaymentConfirmationNetworkAndIssuerIcons
    Sensor Extra Classes
    SensorExtraClasses
    Service Worker Client Lifecycle State
    ServiceWorkerClientLifecycleState
    Set Sequential Focus Starting Point
    SetSequentialFocusStartingPoint
    Signature Based Inline Integrity
    SignatureBasedInlineIntegrity
    Skip Callbacks When Dev Tools Not Open
    SkipCallbacksWhenDevToolsNotOpen
    Speaker Selection
    SpeakerSelection
    Speculation Rules Target Hint
    SpeculationRulesTargetHint
    Storage Buckets Durability
    StorageBucketsDurability
    Storage Buckets Locks
    StorageBucketsLocks
    Strict Mime Types For Workers
    StrictMimeTypesForWorkers
    Synthesized Keyboard Events For Accessibility Actions
    SynthesizedKeyboardEventsForAccessibilityActions
    System Wake Lock
    SystemWakeLock
    Text Emphasis Position Auto
    TextEmphasisPositionAuto
    Text Fragment API
    TextFragmentAPI
    Timestamp Based CLS Tracking
    TimestampBasedCLSTracking
    Time Zone Change Event
    TimeZoneChangeEvent
    Topics Img API
    TopicsImgAPI
    Top Level Tpcd
    TopLevelTpcd
    Trusted Type Before Policy Creation Event
    TrustedTypeBeforePolicyCreationEvent
    Trusted Types From Literal
    TrustedTypesFromLiteral
    Trusted Types Use Code Like
    TrustedTypesUseCodeLike
    Unclosed Form Control Is Invalid
    UnclosedFormControlIsInvalid
    Unencoded Digest
    UnencodedDigest
    URL Pattern Compare Component
    URLPatternCompareComponent
    User Defined Entry Point Timing
    UserDefinedEntryPointTiming
    Video Frame Metadata Background Blur
    VideoFrameMetadataBackgroundBlur
    Web App Translations
    WebAppTranslations
    Web Assembly JS Promise Integration
    WebAssemblyJSPromiseIntegration
    Web Authentication Ambient
    WebAuthenticationAmbient
    Web Authentication Attestation Formats
    WebAuthenticationAttestationFormats
    Web Authentication Challenge Url
    WebAuthenticationChallengeUrl
    Web Authentication Supplemental Pub Keys
    WebAuthenticationSupplementalPubKeys
    Web Bluetooth Get Devices
    WebBluetoothGetDevices
    Web Bluetooth Scanning
    WebBluetoothScanning
    Web Bluetooth Watch Advertisements
    WebBluetoothWatchAdvertisements
    Web Codecs Video Encoder Buffers
    WebCodecsVideoEncoderBuffers
    Web Font Resize LCP
    WebFontResizeLCP
    WebGL Developer Extensions
    WebGLDeveloperExtensions
    WebGPU Feature Level
    WebGPUFeatureLevel
    Web Transport Stats
    WebTransportStats
    Web U I Bundled Code Cache Async Fetch
    WebUIBundledCodeCacheAsyncFetch
    Web View XR equested With Deprecation
    WebViewXRequestedWithDeprecation
    Web VTT Regions
    WebVTTRegions
    Web XR Frame Rate
    WebXRFrameRate
    Web XR Front Facing
    WebXRFrontFacing
    Web XR GPU Binding
    WebXRGPUBinding
    Web XR Hit Test Entity Types
    WebXRHitTestEntityTypes
    Web XR Image Tracking
    WebXRImageTracking
    Web XR Layers Common
    WebXRLayersCommon
    Web XR Plane Detection
    WebXRPlaneDetection
    Web XR Pose Motion Data
    WebXRPoseMotionData
    Window On Move Event
    WindowOnMoveEvent

Chromium 135

  • Audio Context Playout Stats
    AudioContextPlayoutStatschromestatus.com

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

  • Boundary Event Dispatch Tracks Node Removal
    BoundaryEventDispatchTracksNodeRemovalchromestatus.com

    After an event target gets removed from the DOM, the logical target of the pointer as implied by the Pointer and Mouse boundary events (i.e. over, out, enter and leave events) should be the nearest ancestor still attached to the DOM. PEWG has recently reached consensus on this behavior, see https://github.com/web-platform-tests/interop/issues/380. Chrome has been keeping track of a node even after it gets removed from DOM. As a result, if the pointer moves to a new node B after the hit-test node A is removed from DOM, the boundary event sequence (pointerover, pointerout, pointerenter, pointerleave events and the corresponding mouse events) used to imply a pointer movement from A to B. As per the new consensus, the event sequence should imply a pointer movement from the "parent of A" to B.

  • Canvas Floating Point
    CanvasFloatingPointchromestatus.com

    Introduce the the ability to use floating point pixel formats (as opposed to 8-bit fixed point) with CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D, and ImageData. This is necessary for high precision applications (e.g, medical visualization), high dynamic range content, and linear working color spaces.

  • Canvas Text Lang
    CanvasTextLangchromestatus.com

    The <canvas> DOM element, like all DOM elements, accepts a `lang` attribute that is used to define language specific treatment for font selection (when fonts have locale specific glyphs). Browsers respect this attribute. However, when an OffscreenCanvas is created there is no way to set locale information, possibly resulting in a state where an offscreen canvas produces rendered results that differ from the canvas in which it's output is used. This feature adds a `lang` IDL attribute to CanvasTextDrawingStyles to give developers direct control over the language for the text drawing and metrics.

  • Capability Delegation Display Capture Request
    CapabilityDelegationDisplayCaptureRequestchromestatus.com

    This feature is based on the general delegation mechanism (https://chromestatus.com/feature/5708770829139968) shipped on M100. Display-Capture Capability Delegation allows a Window to transfer the ability to call navigator.mediaDevices.getDisplayMedia() to another Window it trusts after relinquishing the transient user activation at the sender Window.

  • Click To Captured Pointer
    ClickToCapturedPointerchromestatus.com

    If a pointer is captured while the `pointerup` event is being dispatched, the `click` event will be dispatched to the captured target instead of the nearest common ancestor of `pointerdown` and `pointerup` events as per the UI Event spec. For uncaptured pointers, the `click` target remains unchanged.

  • Container Timing
    ContainerTimingchromestatus.com

    The Container Timing API enables monitoring when annotated sections of the DOM are displayed on screen and have finished their initial paint. A developer will have the ability to mark subsections of the DOM with the containertiming attribute (similar to elementtiming for the Element Timing API) and receive performance entries when that section has been painted for the first time. This API will allow developers to measure the timing of various components in their pages.

  • Context Menu

    Change “click”, “contextmenu”, “auxclick” events to PointerEvent (instead of MouseEvent) to let developers: distinguish between mouse, pen and individual fingers in a multitouch interaction through pointerType and pointerId attributes, and utilize fractional event coordinates for high precision use cases.

  • Controlled Frame
    ControlledFramechromestatus.com

    Adds a Controlled Frame API available only to Isolated Web Apps (IWAs). This work adds 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 Caret Animation
    CSSCaretAnimationchromestatus.com

    Chromium supports animation of the caret-color property, but when animated the default blinking behavior of the caret interferes with the animation. For instance, see the example at https://drafts.csswg.org/css-ui/#caret-animation where an animation from blue to red and back is rendered as a blinking cursor that is randomly blue or red. The CSS caret-animation property has two possible values: auto and manual, where auto means browser default (blinking) and manual means the page author is controlling the caret animation. In addition, via a user stylesheet, it allows users who are disturbed by or have adverse reactions to blinking or flashing visuals to disable the blinking.

  • CSS Corner Shape
    CSSCornerShapechromestatus.com

    Enable styling corners, on top of the existing border-radius, by expressing the shape/curvature of the corner as a superellipse. This allows shapes like squircles, notches, scoops etc., and animating between them.

  • CSS Dynamic Range Limit
    CSSDynamicRangeLimitchromestatus.com

    Enables a page to limit the maximum brightness of HDR content.

  • CSS Functions
    CSSFunctionschromestatus.com

    Custom Functions are similar to custom properties, but instead of returning a single, fixed value, they return values based on other custom properties, parameters, and conditionals.

  • CSS Inline If For Media Queries
    CSSInlineIfForMediaQuerieschromestatus.com

    The CSS if() function provides a concise way to express conditional values. It accepts a series of condition-value pairs, delimited by semicolons. The function evaluates each condition sequentially and returns the value associated with the first true condition. If none of the conditions evaluate to true, the function returns an empty token stream. This allows web authors to express complex conditional logic in a simple and concise way. Example: <style> div { color: var(--color); background-color: if(style(--color: white): black; else: white); } .dark { --color: black; } .light { --color: white; } </style> <div class="dark">dark</div> <div class="light">light</div>

  • CSS Inline If For Style Queries
    CSSInlineIfForStyleQuerieschromestatus.com

    The CSS if() function provides a concise way to express conditional values. It accepts a series of condition-value pairs, delimited by semicolons. The function evaluates each condition sequentially and returns the value associated with the first true condition. If none of the conditions evaluate to true, the function returns an empty token stream. This allows web authors to express complex conditional logic in a simple and concise way. Example: <style> div { color: var(--color); background-color: if(style(--color: white): black; else: white); } .dark { --color: black; } .light { --color: white; } </style> <div class="dark">dark</div> <div class="light">light</div>

  • CSS Inline If For Supports Queries
    CSSInlineIfForSupportsQuerieschromestatus.com

    The CSS if() function provides a concise way to express conditional values. It accepts a series of condition-value pairs, delimited by semicolons. The function evaluates each condition sequentially and returns the value associated with the first true condition. If none of the conditions evaluate to true, the function returns an empty token stream. This allows web authors to express complex conditional logic in a simple and concise way. Example: <style> div { color: var(--color); background-color: if(style(--color: white): black; else: white); } .dark { --color: black; } .light { --color: white; } </style> <div class="dark">dark</div> <div class="light">light</div>

  • CSS Preferred Text Scale
    CSSPreferredTextScalechromestatus.com

    Exposes a user's preferred font scale to CSS. Currently, it is not practical for a page to detect if the user has changed their preferred font size via the Operating System's preferences. This CSS environment variable will reflect the scale chosen by the user.

  • CSS Progress Notation
    CSSProgressNotationchromestatus.com

    The progress() functional notation returns a <number> value representing the position of one calculation (the progress value) between two other calculations (the progress start value and progress end value). progress() is a math function. The syntax of progress() is defined as follows: <progress()> = progress(<calc-sum>, <calc-sum>, <calc-sum>) where the first, second, and third <calc-sum> values represent the progress value, progress start value, and progress end value, respectively.

  • CSS Reading Flow
    CSSReadingFlowchromestatus.com

    The reading-flow CSS property controls the order in which elements in a flex, grid or block layout are exposed to accessibility tools and focused via TAB keyboard focus navigation. This change implements the CSS reading-flow keyword values: * normal * flex-visual * flex-flow * grid-rows * grid-columns * grid-order * source-order See spec: https://drafts.csswg.org/css-display-4/#reading-flow The reading-order CSS property allows authors to manually-override the order within a reading flow container. It is an integer with default value 0. See spec: https://drafts.csswg.org/css-display-4/#reading-order Please find more thorough examples of how TAB keyboard navigation and accessibility is improved by this feature here: https://chrome.dev/reading-flow-examples/

  • CSS Sibling Functions
    CSSSiblingFunctionschromestatus.com

    sibling-index() and sibling-count() can be used as integers in CSS property values to style elements based on their position among its siblings, or the total number of siblings respectively. These functions can be used directly as integer values, but more interestingly inside calc() expressions. Example: li { margin-left: calc(10px * sibling-index()); }

  • CSS Sign Related Functions
    CSSSignRelatedFunctionschromestatus.com

    The sign-related functions ​abs() and sign() ​compute various functions related to the sign of their argument. The abs(A) function contains one calculation A, and returns the absolute value of A, as the same type as the input: if A’s numeric value is positive or 0⁺, just A again; otherwise -1 * A. The sign(A) function contains one calculation A, and returns -1 if A’s numeric value is negative, +1 if A’s numeric value is positive, 0⁺ if A’s numeric value is 0⁺, and 0⁻ if A’s numeric value is 0⁻. The return type is a <number>, made consistent with the input calculation’s type.

  • CSS System Accent Color
    CSSSystemAccentColorchromestatus.com

    This feature empowers web developers to enhance the visual appeal of their websites by leveraging the operating system's accent color for form elements. By utilizing the "accent-color" CSS property, developers can ensure that form elements such as checkboxes, radio buttons, and progress bars automatically adopt the accent color defined by the user's operating system. This feature is an enhancement to existing feature that is already shipped in Chromium: https://groups.google.com/a/chromium.org/g/blink-dev/c/WwYkLjbGhoA

  • CSS Text Auto Space
    CSSTextAutoSpacechromestatus.com

    Inserts small spacings to match the established typographic rules automatically. The spec currently defines one rule for Han ideographic characters and one for French. The initial implementation focuses on the Han ideographic characters rule. Text written in Han ideographic writing systems often mixes multiple scripts, usually the Han ideographic scripts, Latin scripts, and ASCII digits. Small spacings when switching from and to non-Han ideographic scripts often help the readability. This property lets browsers insert such spacings automatically. This property has several values, including values for other writing systems. The initial implementation supports `normal` and `no-autospace`. The initial value is set to `no-autospace` to start conservatively and be more careful for the site compatibilities. Authors can add `text-autospace: normal` to enable the feature.

  • CSS View Transition Auto Name
    CSSViewTransitionAutoNamechromestatus.com

    Contact emails vmpstr@chromium.org, nrosenthal@chromium.org Explainer None Specification https://drafts.csswg.org/css-view-transitions-2/#auto-vt-name Summary 'auto' uses the element's id attribute to generate a unique match for view transition cases. In absence of the id, it generates a unique id based on the element's identity and remains the same for this element. This is used in Single Page App or Multi Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

  • CSS View Transition Match Element
    CSSViewTransitionMatchElementchromestatus.com

    'match-element' generates a unique id based on the element's identity and renames the same for this element. This is used in Single Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

  • Database

    NotRestoredReasons API has been launched as part of PerformanceNavigationTiming API. This PR specified the names of the reasons that User Agents can choose to expose. https://github.com/whatwg/html/pull/10154 This entry is about chromium changing the names of the reasons so that they match the ones specified. List of changes: "extension-messaging", "pending-permission-request", "not-main-frame", "frame-navigating", "timeout", "cookie-disabled", "cookie-removed", "printing", "web-database", "injected-javascript", "injected-stylesheet" -> "masked" "response-method-not-get"->"request-method-not-get" "serviceworker-version-activation" -> "serviceworker-version-activated" "serviceworker-added-after-bfcache" -> "serviceworker-added" "serviceworker-unregistration" -> "serviceworker-unregistered" "unload-handler" -> "unload-listener" "session-restored" -> null

  • Device Orientation Request Permission
    DeviceOrientationRequestPermissionchromestatus.com

    Allows developers to ask for permission to use the Device Orientation and Device Motion APIs. Access to these APIs is currently granted by default, and these new functions are part of the long-term plan to require requesting permission before using window.ondevicemotion and window.ondeviceorientation.

  • Dialog New Focus Behavior
    DialogNewFocusBehaviorchromestatus.com

    Some changes are being made to which element is selected to get focus when a dialog element is opened: 1. Make the dialog focusing steps look at keyboard focusable elements instead of any focusable element. 2. Make the dialog element itself get focus if it has the autofocus attribute set. 3. Make the dialog element itself get focus as a fallback instead of focus being "reset" to the body element.

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

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

  • Escape Lt Gt In Attributes
    EscapeLtGtInAttributeschromestatus.com

    Escape "<" and ">" in values of attributes on serialization. This mitigates the risk of mutation XSS attacks, which occur when value of an attribute is interpreted as a start tag token after being serialized and re-parsed.

  • Extended Text Metrics
    ExtendedTextMetricschromestatus.com

    Expand the TextMetrics Canvas API to support selection rectangles, bounding box queries, and grapheme cluster-based operations. This new functionality should enable complex text editing applications with accurate selection, caret positioning, and hit testing. Additionally, cluster-based rendering facilitates sophisticated text effects such as independent character animations and styling.

  • Face Detector
    FaceDetectorchromestatus.com

    The Face Detection API is a subset of the Shape Detection API which provides the ability to detect human faces and facial landmarks in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • File System Access API Experimental
    FileSystemAccessAPIExperimentalchromestatus.com

    Currently, the File System Access API does not support an efficient way to move or rename files or directories. This requires creating a new file/directory, copying over data (recursively, in the case of a directory), and removing the original. This process is slow, error prone (e.g. disk full), and can require re-uploading files in some cases. See https://github.com/WICG/file-system-access/pull/317

  • Focusgroup

    The Focusgroup feature will facilitate keyboard focus navigation using the keyboard arrow keys among a set of focusable elements.

  • Gamepad Multitouch
    GamepadMultitouchchromestatus.com

    Extend the Gamepad API to support multitouch surfaces (touchpads). Providing a touchpad API eases application implementation and provides greater functionality browser interoperability.

  • Indexed Db Get All Records
    IndexedDbGetAllRecordschromestatus.com

    This feature adds the getAllRecords() API to IndexedDB's IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality enables certain read patterns to be significantly faster when compared to the existing alternative of iteration with cursors. One key workload from a Microsoft property showed a 350ms improvement. getAllRecords() effectively combines getAllKeys() and getAll() by enumerating 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. getAllRecords() can optionally return records in either ascending or descending order. This option is also back-ported to the existing operations getAll() and getAllKeys().

  • Install On Device Speech Recognition
    InstallOnDeviceSpeechRecognitionchromestatus.com

    This feature adds on-device speech recognition support to the Web Speech API, allowing websites to ensure that neither audio nor transcribed speech are sent to a third-party service for processing. Websites can query the availability of on-device speech recognition for specific languages, prompt users to install the necessary resources for on-device speech recognition, and choose between on-device or cloud-based speech recognition as needed.

  • Inverted Colors
    InvertedColorschromestatus.com

    Adds the `inverted-colors` media feature, an indication that the user agent or underlying operating system has forcibly inverted all colors, not a request to do so. This is sometimes provided as a simple accessibility feature, allowing users to switch between light-on-dark and dark-on-light text. Valid options are 'inverted' or 'none'.

  • Language Detection API
    LanguageDetectionAPIchromestatus.com

    A JavaScript API for detecting the language of text, with confidence levels. An important supplement to translation is language detection. This can be combined with translation, e.g. taking user input in an unknown language and translating it to a specific target language. Browsers today often already have langauge detection capabilities, and we want to offer them to web developers through a JavaScript API, supplementing the translation API. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable.

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

  • Media Capture Background Blur
    MediaCaptureBackgroundBlurchromestatus.com

    The Background Blur API allows web developers to use the native platform's API for camera background segmentation. As Background Blur has become one of the most used features on video conferencing apps like Teams, Meet, Zoom, and Webex, we want web apps to leverage the same platform APIs without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions.

  • Media Capture Voice Isolation
    MediaCaptureVoiceIsolationchromestatus.com

    This is about adding support in Chrome for the VoiceIsolation getUserMedia constraint (https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint). The constraint only takes effect on platforms where there is low-level support for voice-isolation style denoising. Currently this is limited to a selected number of ChromeOS devices, but further platforms will be added.

  • Media Source Extensions For Web Codecs
    MediaSourceExtensionsForWebCodecschromestatus.com

    Extends the Media Source Extensions API (MSE) to enable buffering containerless WebCodecs encoded media chunks with MSE for low-latency buffering and seekable playback.

  • Media Source New Abort And Duration
    MediaSourceNewAbortAndDurationchromestatus.com

    The Media Source standard long ago changed to disallow ambiguously defined behavior involving asynchronous range removals: * SourceBuffer.abort() no longer aborts SourceBuffer.remove() operations * Setting MediaSource.duration can no longer truncate currently buffered media Exceptions will be thrown in both of these cases now. Safari and Firefox have long shipped this behavior, Chromium is the last browser remaining with the old behavior. Use counters show ~0.001%-0.005% of page loads hit the deprecated behavior. Primarily small Russian sites. If a site hits this issue, playback may now break. Usage of abort() cancelling removals is increasing, so it's prudent to resolve this deprecation before more incompatible usage appears.

  • Navigation Id
    NavigationIdchromestatus.com

    This adds a Performance Timeline entry type, "back-forward-cache-restoration", which is emitted every time that a page is retrieved from the back-forward cache, and a field on all performance timeline entries, "navigationId", which can be used to tie performance events to the most recent navigation-like event. This allows developers to more easily use the performance APIs to compare the user experience of an SPA or a bfcache-eligible page with that of a traditional multi-page experience.

  • Nested View Transition
    NestedViewTransitionchromestatus.com

    Allow view-transitions to generate a nested pseudo-element tree rather than a flat one. This allows the view transition to appear more in line with its original elements and visual intent, as it enables clipping, nested 3D transforms, and proper application of effects like opacity, masking and filters.

  • On Device Web Speech Available
    OnDeviceWebSpeechAvailablechromestatus.com

    This feature enables websites to support contextual biasing for speech recognition by adding a recognition phrase list to the Web Speech API. Developers can provide a list of phrases as well as updating them to apply a bias to the speech recognition models in favor of those phrases. This helps improve accuracy and relevance for domain-specific and personalized speech recognition.

  • Paint Timing Mixin
    PaintTimingMixinchromestatus.com

    Expose "paintTime" and "presentationTime" in event timing, element timing, LCP, long animation frames, paint timing. "paintTime" means the time when the rendering phase ended and the browser started the paint phase. "presentationTime" means the time when the "pixels reached the screen", which is somewhat implementation-defined

  • Payment App

    The API helps to develop new payment apps in web standard ways (e.g. service worker). If using them, payment app providers can provide simplified payment methods and user experiences.

  • Payment Link Detection
    PaymentLinkDetectionchromestatus.com

    Adds support for <link rel="facilitated-payment" href="..."> as a hint that the browser should notify registered payment clients about a pending push payment.

  • Payment Request
    PaymentRequestchromestatus.com

    To help developers reduce friction in Payment Request flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change.

  • Performance Navigation Timing Confidence
    PerformanceNavigationTimingConfidencechromestatus.com

    Web applications may suffer from bimodal distribution in page load performance, due to factors outside of the web application’s control. For example: * When a user agent first launches (a "cold start" scenario), it must perform many expensive initialization tasks that compete for resources on the system. * Browser extensions can affect the performance of a website. For instance, some extensions run additional code on every page you visit, which can increase CPU usage and result in slower response times. * When a machine is busy performing intensive tasks, it can lead to slower loading of web pages. In these scenarios, content the web app attempts to load will be in competition with other work happening on the system. This makes it difficult to detect if performance issues exist within web applications themselves, or because of external factors. Teams we have worked with have been surprised at the difference between real-world dashboard metrics and what they observe in page profiling tools. Without more information, it is challenging for developers to understand if (and when) their applications may be misbehaving or are simply being loaded in a contended period. A new ‘confidence’ field on the PerformanceNavigationTiming object will enable developers to discern if the navigation timings are representative for their web application.

  • Permission Element
    PermissionElementchromestatus.com

    Provide a new HTML element that interacts with the permission flow. The permission prompt is currently triggered directly from JS without the user agent having any strong signal of the user's intent. Having an in-content element that the user uses to trigger the permission flow allows for improved permission prompt UX for users as well as a recovery path from the "denied" permission state for sites. Explainer: https://github.com/WICG/PEPC/blob/main/explainer.md Instructions: https://github.com/WICG/PEPC/blob/main/HOWTO.md Developer facing documentation: https://developer.chrome.com/blog/permission-element-origin-trial

  • Potential Permissions Policy Reporting
    PotentialPermissionsPolicyReportingchromestatus.com

    Introduces a new violation type called "Potential Permissions Policy violation", which will only look at Permissions Policy (including report-only policy) and the allow attribute set in iframes to detect the conflict between Permissions Policy enforced vs permissions propagated to iframes.

  • Private Network Access Null Ip Address
    PrivateNetworkAccessNullIpAddresschromestatus.com

    We propose to block access to IP address 0.0.0.0 in advance of PNA completely rolling out. Chrome is deprecating direct access to private network endpoints from public websites as part of the Private Network Access (PNA) specification (https://developer.chrome.com/blog/private-network-access-preflight/). Services listening on the localhost (127.0.0.0/8) are considered private according to the specification (https://wicg.github.io/private-network-access/#ip-address-space-heading). Chrome's PNA protection (rolled out as part of https://chromestatus.com/feature/5436853517811712) can be bypassed using the IP address 0.0.0.0 to access services listening on the localhost on macOS and Linux. This can also be abused in DNS rebinding attacks targeting a web application listening on the localhost. Since 0.0.0.0 is not used in practice (and should not be used), but was overlooked during https://chromestatus.com/feature/5436853517811712, we're deprecating it separately from the rest of the private network requests deprecation.

  • Rel Opener Bcg Dependency Hint
    RelOpenerBcgDependencyHintchromestatus.com

    Extends the use of the "opener" rel type to same-window navigations to signal to the browser that the destination page will open a new window and the referring page expects to be able to access it. Some user agents perform browsing context group changes on navigation that aren't strictly necessary for security in order to improve performance. This results in named window reuse not being possible across a back navigation. Annotating an anchor element with "opener" will signal to the user agent that performing a browsing context group change would break a future opener relationship.

  • 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 Encoded Frame Set Metadata
    RTCEncodedFrameSetMetadatachromestatus.com

    Allow WebRTC Encoded Transform API to manipulate audio and video frame metadata. Some WebRTC Encoded Transform use cases involve manipulation of not only the payload of encoded video / audio frames but also its metadata. Some examples: * Altering the timestamp of a frame to introduce a delay, * Changing the mime type of the frame if the transform changes the type of the payload. * Forwarding of media to a new peer connection set up to use different metadata values Use cases: https://w3c.github.io/webrtc-nv-use-cases/#live-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#stored-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#auction Issue link: https://github.com/w3c/webrtc-nv-use-cases/issues/77

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

  • Selection Across Shadow DOM
    SelectionAcrossShadowDOMchromestatus.com

    This feature ships two new API methods for the Selection API: * Selection.direction which returns the selection's direction as either "none", "forward" or "backward" * Selection.getComposedRanges() which returns a list of 0 or 1 “composed” StaticRange A “composed” StaticRange is allowed to cross shadow boundaries, which normal Ranges cannot. For example: const range = getSelection().getComposedRanges({ shadowRoots: [root] }); If the selection crosses a shadow root boundary that isn’t provided in the shadowRots list, then the StaticRange's endpoints will be “rescoped” to be outside that tree. This makes sure we do not expose unknown shadow trees.

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

  • Signature Based Integrity
    SignatureBasedIntegritychromestatus.com

    This feature provides web developers with a mechanism to verify the provenance of resources they depend upon, creating a technical foundation for trust in a site's dependencies. In short: servers can sign responses with a Ed25519 key pair, and web developers can require the user agent to verify the signature using a specific public key. This offers a helpful addition to URL-based checks offered by Content Security Policy on the one hand, and Subresource Integrity's content-based checks on the other.

  • Soft Navigation Heuristics
    SoftNavigationHeuristicschromestatus.com

    Exposes the (experimental) soft navigation heuristics to web developers, using both PerformanceObserver and the performance timeline. This feature reports two new performance entries: - "soft-navigation", for user interactions which navigate the page. Defines a new timeOrigin to help slice the performance timeline. - "interaction-contentful-paint", which reports on the loading performance of interactions (beyond just next paint), used as LCP for soft-navigations.

  • Svg Anchor Element Rel Attributes
    SvgAnchorElementRelAttributeschromestatus.com

    The SVGAElement interface in SVG 2.0 allows manipulation of <a> elements similar to HTML anchor elements. Supporting the rel and relList attributes enhances security and privacy for developers. This alignment with HTML anchor elements ensures consistency and ease of use across web technologies.

  • Text Detector
    TextDetectorchromestatus.com

    The Text Detection API is a subset of the Shape Detection API which provides the ability to detect and optionally transcribe text in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • Tpcd

    This experiment exposes a temporary set of APIs which provide access to browser-determined treatment and control groups to support opt-in server side testing of the third-party cookie deprecation.

  • Viewport Segments
    ViewportSegmentschromestatus.com

    The Viewport Segments API allows developers to adapt their website/webapp layout to target foldable devices. The viewport segments defines the position and dimensions of a logically separate region of the viewport. Viewport segments are created when the viewport is split by one or more hardware features (such as a fold or a hinge between separate displays) that act as a divider; segments are the regions of the viewport that can be treated as logically distinct by the author.

  • Web App Installation
    WebAppInstallationchromestatus.com

    The Web Install API allows a web site to install a web app (same or cross domain). This functionality allows the creation of web based catalogues that can install PWAs directly from the web and into multiple platforms. https://aka.ms/webinstall

  • Web App Scope Extensions
    WebAppScopeExtensionschromestatus.com

    Adds a "scope_extensions" web app manifest field that enables web apps to extend their scope to other origins. Example usage: { "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ {"type" : "origin", "origin" : "https://example.com"} ] } This allows sites that control multiple subdomains and top level domains to be presented as a single web app. Requires listed origins to confirm association with the web app using a .well-known/web-app-origin-association configuration file. { "https://sample-app.com/": { "scope": "/" } }

  • Web Authentication Immediate Get
    WebAuthenticationImmediateGetchromestatus.com

    A mediation mode for navigator.credentials.get() that causes browser sign-in UI to be displayed to the user if there is a passkey or password for the site that is immediately known to the browser, or else rejects the promise with NotAllowedError if there is no such credential available. This allows the site to avoid showing a sign-in page if the browser can offer a choice of sign-in credentials that are likely to succeed, while still allowing a traditional sign-in page flow for cases where there are no such credentials.

  • Web Codecs Orientation
    WebCodecsOrientationchromestatus.com

    Introduces "rotation: int" and "flip: bool" values to various video related interfaces in WebCodecs so that developers can work with frame sources that have orientation (E.g., Android cameras, certain media). The VideoFrame interface grows the ability to create VideoFrames with arbitrary rotation and flip as well as accessors for this information on the VideoFrame object. The VideoDecoderConfig object gains rotation and flip fields that are emitted on decoded VideoFrame objects automatically. The VideoEncoder class gains mechanisms for passing rotation and flip information from encode() to the VideoDecoderConfig emitted as part of EncodedVideoChunkMetadata. If encode() is called with frames with different orientations a non-fatal exception will be thrown. configure() may be used to reset the allowed orientation.

  • Web Crypto Ed25519
    WebCryptoEd25519chromestatus.com

    This feature adds support for Curve25519 algorithms in the Web Cryptography API, namely the signature algorithm Ed25519

  • WebGPU Experimental Features
    WebGPUExperimentalFeatureschromestatus.com

    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.

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

  • Web Preferences
    WebPreferenceschromestatus.com

    The Web Preference API aims to provide a way for sites to override the value for a given user preference (e.g. color-scheme preference) in a way that fully integrates with existing Web APIs.

  • Web XR Layers

    WebXR Layers offers a more efficient way of drawing immersive content. In addition to support for native color and depth textures and texture arrays, it also provides support for different layer types that are managed by the system compositor (as opposed to javascript).

  • Web XR Spec Parity
    WebXRSpecParitychromestatus.com

    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

Features in Chromium 135 without description
  • Accessibility Aria Virtual Content
    AccessibilityAriaVirtualContent
    Accessibility Implicit Actions
    AccessibilityImplicitActions
    Accessibility OS Level Bold Text
    AccessibilityOSLevelBoldText
    Accessibility Serialization Size Metrics
    AccessibilitySerializationSizeMetrics
    Address Space
    AddressSpace
    AOM Aria Relationship Properties Aria Owns
    AOMAriaRelationshipPropertiesAriaOwns
    App Title
    AppTitle
    Aria Actions
    AriaActions
    Audio Video Tracks
    AudioVideoTracks
    Auto Picture In Picture Video Heuristics
    AutoPictureInPictureVideoHeuristics
    Back Forward Cache Experiment HTTP Header
    BackForwardCacheExperimentHTTPHeader
    Blocking Focus Without User Activation
    BlockingFocusWithoutUserActivation
    Cache Storage Code Cache Hint
    CacheStorageCodeCacheHint
    Canvas2d Canvas Filter
    Canvas2dCanvasFilter
    Canvas2d GPU Transfer
    Canvas2dGPUTransfer
    Canvas2d Layers With Options
    Canvas2dLayersWithOptions
    Canvas2d Text Metrics Shaping
    Canvas2dTextMetricsShaping
    Canvas Gradient CSS Color4
    CanvasGradientCSSColor4
    Canvas HDR
    CanvasHDR
    Canvas Place Element
    CanvasPlaceElement
    Composite BG Color Animation
    CompositeBGColorAnimation
    Composite Clip Path Animation
    CompositeClipPathAnimation
    Computed Accessibility Info
    ComputedAccessibilityInfo
    Correct Template Form Parsing
    CorrectTemplateFormParsing
    CSS Accent Color Keyword
    CSSAccentColorKeyword
    CSS Color Contrast
    CSSColorContrast
    CSS Color Typed OM
    CSSColorTypedOM
    CSS Container Progress Notation
    CSSContainerProgressNotation
    CSS Cross Fade
    CSSCrossFade
    CSS Layout API
    CSSLayoutAPI
    CSS Line Clamp
    CSSLineClamp
    CSS Media Progress Notation
    CSSMediaProgressNotation
    CSS Paint API Arguments
    CSSPaintAPIArguments
    CSS Pseudo Has Slotted
    CSSPseudoHasSlotted
    CSS Reading Order
    CSSReadingOrder
    CSS Relative Color Late Resolve Always
    CSSRelativeColorLateResolveAlways
    CSS Scope Import
    CSSScopeImport
    CSS Scroll Marker Contain
    CSSScrollMarkerContain
    CSS Selector Fragment Anchor
    CSSSelectorFragmentAnchor
    CSS Shape Function Composite Animation
    CSSShapeFunctionCompositeAnimation
    CSS Supports At Rule Function
    CSSSupportsAtRuleFunction
    CSS Video Dynamic Range Media Queries
    CSSVideoDynamicRangeMediaQueries
    Customizable Select Element Accessibility Issues
    CustomizableSelectElementAccessibilityIssues
    Desktop Capture Disable Local Echo Control
    DesktopCaptureDisableLocalEchoControl
    Device Bound Session Credentials
    DeviceBoundSessionCredentials
    Dialog Close When Open Removed
    DialogCloseWhenOpenRemoved
    Disable Hardware Noise Suppression
    DisableHardwareNoiseSuppression
    Disable Third Party Storage Partitioning3
    DisableThirdPartyStoragePartitioning3
    Display Contents Focusable
    DisplayContentsFocusable
    Document Open Origin Alias Removal
    DocumentOpenOriginAliasRemoval
    Document Policy Document Domain
    DocumentPolicyDocumentDomain
    Document Policy Negotiation
    DocumentPolicyNegotiation
    Document Policy Sync XHR
    DocumentPolicySyncXHR
    DOM Parts API
    DOMPartsAPI
    Event Timing Interaction Count
    EventTimingInteractionCount
    Experimental Content Security Policy Features
    ExperimentalContentSecurityPolicyFeatures
    Experimental JS Profiler Markers
    ExperimentalJSProfilerMarkers
    Experimental Policies
    ExperimentalPolicies
    File System Observer Unobserve
    FileSystemObserverUnobserve
    Find Text In Readonly Text Input
    FindTextInReadonlyTextInput
    Freeze Frames On Visibility
    FreezeFramesOnVisibility
    Get Display Media Requires User Activation
    GetDisplayMediaRequiresUserActivation
    HTML Anchor Attribute
    HTMLAnchorAttribute
    HTML Interest Target Attribute
    HTMLInterestTargetAttribute
    Image Data Pixel Format
    ImageDataPixelFormat
    Inner HTML Parser Fastpath Log Failure
    InnerHTMLParserFastpathLogFailure
    Interoperable Private Attribution
    InteroperablePrivateAttribution
    Is Secure Payment Confirmation Available API
    IsSecurePaymentConfirmationAvailableAPI
    Java Script Compile Hints Magic Always Runtime
    JavaScriptCompileHintsMagicAlwaysRuntime
    Java Script Compile Hints Magic Runtime
    JavaScriptCompileHintsMagicRuntime
    Keyboard Accessible Tooltip
    KeyboardAccessibleTooltip
    Limit Third Party Cookies
    LimitThirdPartyCookies
    Long Animation Frame Source Char Position
    LongAnimationFrameSourceCharPosition
    Long Animation Frame Source Line Column
    LongAnimationFrameSourceLineColumn
    Media Capabilities Encoding Info
    MediaCapabilitiesEncodingInfo
    Media Capture Camera Controls
    MediaCaptureCameraControls
    Media Capture Configuration Change
    MediaCaptureConfigurationChange
    Media Source Experimental
    MediaSourceExperimental
    Navigate Event Commit Behavior
    NavigateEventCommitBehavior
    Notification Triggers
    NotificationTriggers
    Offscreen Canvas Commit
    OffscreenCanvasCommit
    Origin Policy
    OriginPolicy
    Overscroll Customization
    OverscrollCustomization
    Partitioned Popins
    PartitionedPopins
    Performance Mark Feature Usage
    PerformanceMarkFeatureUsage
    Performance Navigate System Entropy
    PerformanceNavigateSystemEntropy
    Per Method Can Make Payment Quota
    PerMethodCanMakePaymentQuota
    Permissions Request Revoke
    PermissionsRequestRevoke
    Prefers Reduced Data
    PrefersReducedData
    Private Network Access Non Secure Contexts Allowed
    PrivateNetworkAccessNonSecureContextsAllowed
    Push Messaging Subscription Change
    PushMessagingSubscriptionChange
    Render Surface For2 D Scale Transform
    RenderSurfaceFor2DScaleTransform
    Resource Timing Content Encoding
    ResourceTimingContentEncoding
    Resource Timing Content Type
    ResourceTimingContentType
    Restrict Gamepad Access
    RestrictGamepadAccess
    Rtc Audio Jitter Buffer Max Packets
    RtcAudioJitterBufferMaxPackets
    RTC Encoded Audio Frame Abs Capture Time
    RTCEncodedAudioFrameAbsCaptureTime
    RTC Encoded Video Frame Additional Metadata
    RTCEncodedVideoFrameAdditionalMetadata
    RTC Legacy Callback Based Get Stats
    RTCLegacyCallbackBasedGetStats
    RTC Stats Relative Packet Arrival Delay
    RTCStatsRelativePacketArrivalDelay
    Scoped Custom Element Registry
    ScopedCustomElementRegistry
    Scoped View Transitions
    ScopedViewTransitions
    Scroll Anchor Priority Candidate Subtree
    ScrollAnchorPriorityCandidateSubtree
    Scroll Timeline Current Time
    ScrollTimelineCurrentTime
    Secure Payment Confirmation Network And Issuer Icons
    SecurePaymentConfirmationNetworkAndIssuerIcons
    Sensor Extra Classes
    SensorExtraClasses
    Service Worker Client Lifecycle State
    ServiceWorkerClientLifecycleState
    Set Sequential Focus Starting Point
    SetSequentialFocusStartingPoint
    Signature Based Inline Integrity
    SignatureBasedInlineIntegrity
    Site Initiated Mirroring
    SiteInitiatedMirroring
    Skip Callbacks When Dev Tools Not Open
    SkipCallbacksWhenDevToolsNotOpen
    Speaker Selection
    SpeakerSelection
    Speculation Rules Target Hint
    SpeculationRulesTargetHint
    Standardized Timer Clamping
    StandardizedTimerClamping
    Storage Access Header
    StorageAccessHeader
    Storage Buckets Durability
    StorageBucketsDurability
    Storage Buckets Locks
    StorageBucketsLocks
    Strict Mime Types For Workers
    StrictMimeTypesForWorkers
    Synthesized Keyboard Events For Accessibility Actions
    SynthesizedKeyboardEventsForAccessibilityActions
    System Wake Lock
    SystemWakeLock
    Text Emphasis Position Auto
    TextEmphasisPositionAuto
    Text Fragment API
    TextFragmentAPI
    Timestamp Based CLS Tracking
    TimestampBasedCLSTracking
    Time Zone Change Event
    TimeZoneChangeEvent
    Topics Img API
    TopicsImgAPI
    Top Level Tpcd
    TopLevelTpcd
    Trusted Type Before Policy Creation Event
    TrustedTypeBeforePolicyCreationEvent
    Trusted Types From Literal
    TrustedTypesFromLiteral
    Trusted Types Use Code Like
    TrustedTypesUseCodeLike
    Unclosed Form Control Is Invalid
    UnclosedFormControlIsInvalid
    Unencoded Digest
    UnencodedDigest
    URL Pattern Compare Component
    URLPatternCompareComponent
    User Defined Entry Point Timing
    UserDefinedEntryPointTiming
    Video Frame Metadata Background Blur
    VideoFrameMetadataBackgroundBlur
    Web Animations SVG
    WebAnimationsSVG
    Web App Translations
    WebAppTranslations
    Web Assembly JS Promise Integration
    WebAssemblyJSPromiseIntegration
    Web Authentication Ambient
    WebAuthenticationAmbient
    Web Authentication Attestation Formats
    WebAuthenticationAttestationFormats
    Web Authentication Challenge Url
    WebAuthenticationChallengeUrl
    Web Authentication Supplemental Pub Keys
    WebAuthenticationSupplementalPubKeys
    Web Bluetooth Get Devices
    WebBluetoothGetDevices
    Web Bluetooth Scanning
    WebBluetoothScanning
    Web Bluetooth Watch Advertisements
    WebBluetoothWatchAdvertisements
    Web Codecs Video Encoder Buffers
    WebCodecsVideoEncoderBuffers
    Web Font Resize LCP
    WebFontResizeLCP
    WebGL Developer Extensions
    WebGLDeveloperExtensions
    WebGPU Feature Level
    WebGPUFeatureLevel
    Web Transport Stats
    WebTransportStats
    Web U I Bundled Code Cache Async Fetch
    WebUIBundledCodeCacheAsyncFetch
    Web View XR equested With Deprecation
    WebViewXRequestedWithDeprecation
    Web VTT Regions
    WebVTTRegions
    Web XR Frame Rate
    WebXRFrameRate
    Web XR Front Facing
    WebXRFrontFacing
    Web XR GPU Binding
    WebXRGPUBinding
    Web XR Hit Test Entity Types
    WebXRHitTestEntityTypes
    Web XR Image Tracking
    WebXRImageTracking
    Web XR Layers Common
    WebXRLayersCommon
    Web XR Plane Detection
    WebXRPlaneDetection
    Web XR Pose Motion Data
    WebXRPoseMotionData
    Window On Move Event
    WindowOnMoveEvent

Chromium 134

  • Audio Context Playout Stats
    AudioContextPlayoutStatschromestatus.com

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

  • Boundary Event Dispatch Tracks Node Removal
    BoundaryEventDispatchTracksNodeRemovalchromestatus.com

    After an event target gets removed from the DOM, the logical target of the pointer as implied by the Pointer and Mouse boundary events (i.e. over, out, enter and leave events) should be the nearest ancestor still attached to the DOM. PEWG has recently reached consensus on this behavior, see https://github.com/web-platform-tests/interop/issues/380. Chrome has been keeping track of a node even after it gets removed from DOM. As a result, if the pointer moves to a new node B after the hit-test node A is removed from DOM, the boundary event sequence (pointerover, pointerout, pointerenter, pointerleave events and the corresponding mouse events) used to imply a pointer movement from A to B. As per the new consensus, the event sequence should imply a pointer movement from the "parent of A" to B.

  • Canvas Floating Point
    CanvasFloatingPointchromestatus.com

    Introduce the the ability to use floating point pixel formats (as opposed to 8-bit fixed point) with CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D, and ImageData. This is necessary for high precision applications (e.g, medical visualization), high dynamic range content, and linear working color spaces.

  • Capability Delegation Display Capture Request
    CapabilityDelegationDisplayCaptureRequestchromestatus.com

    This feature is based on the general delegation mechanism (https://chromestatus.com/feature/5708770829139968) shipped on M100. Display-Capture Capability Delegation allows a Window to transfer the ability to call navigator.mediaDevices.getDisplayMedia() to another Window it trusts after relinquishing the transient user activation at the sender Window.

  • Click To Captured Pointer
    ClickToCapturedPointerchromestatus.com

    If a pointer is captured while the `pointerup` event is being dispatched, the `click` event will be dispatched to the captured target instead of the nearest common ancestor of `pointerdown` and `pointerup` events as per the UI Event spec. For uncaptured pointers, the `click` target remains unchanged.

  • Context Menu

    Change “click”, “contextmenu”, “auxclick” events to PointerEvent (instead of MouseEvent) to let developers: distinguish between mouse, pen and individual fingers in a multitouch interaction through pointerType and pointerId attributes, and utilize fractional event coordinates for high precision use cases.

  • Controlled Frame
    ControlledFramechromestatus.com

    Adds a Controlled Frame API available only to Isolated Web Apps (IWAs). This work adds 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 Caret Animation
    CSSCaretAnimationchromestatus.com

    Chromium supports animation of the caret-color property, but when animated the default blinking behavior of the caret interferes with the animation. For instance, see the example at https://drafts.csswg.org/css-ui/#caret-animation where an animation from blue to red and back is rendered as a blinking cursor that is randomly blue or red. The CSS caret-animation property has two possible values: auto and manual, where auto means browser default (blinking) and manual means the page author is controlling the caret animation. In addition, via a user stylesheet, it allows users who are disturbed by or have adverse reactions to blinking or flashing visuals to disable the blinking.

  • CSS Dynamic Range Limit
    CSSDynamicRangeLimitchromestatus.com

    Enables a page to limit the maximum brightness of HDR content.

  • CSS Inert

    The interactivity property specifies whether an element and its flat tree descendants (including text runs) are inert or not. Making an element inert affects whether it can be focused, edited, selected, and searchable by find-in-page. It also affects whether it is visible in the accessibility tree. The syntax is: interactivity: auto | inert

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

  • CSS Progress Notation
    CSSProgressNotationchromestatus.com

    The progress() functional notation returns a <number> value representing the position of one calculation (the progress value) between two other calculations (the progress start value and progress end value). progress() is a math function. The syntax of progress() is defined as follows: <progress()> = progress(<calc-sum>, <calc-sum>, <calc-sum>) where the first, second, and third <calc-sum> values represent the progress value, progress start value, and progress end value, respectively.

  • CSS Pseudo Column
    CSSPseudoColumnchromestatus.com

    A ::column pseudo element, which allows applying a limited set of styles to the generated fragments. Specifically, this would be limited to styles which do not affect the layout, and thus can be applied post-layout.

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

  • CSS Pseudo Scroll Markers
    CSSPseudoScrollMarkerschromestatus.com

    ::scroll-marker and ::scroll-marker-group for scrolling containers: Pseudo elements that allow to create a set of focusable markers for all of the associated items within the scrolling container.

  • CSS Reading Flow
    CSSReadingFlowchromestatus.com

    The reading-flow CSS property controls the order in which elements in a flex, grid or block layout are exposed to accessibility tools and focused via TAB keyboard focus navigation. This change implements the CSS reading-flow keyword values: * normal * flex-visual * flex-flow * grid-rows * grid-columns * grid-order * source-order See spec: https://drafts.csswg.org/css-display-4/#reading-flow The reading-order CSS property allows authors to manually-override the order within a reading flow container. It is an integer with default value 0. See spec: https://drafts.csswg.org/css-display-4/#reading-order Please find more thorough examples of how TAB keyboard navigation and accessibility is improved by this feature here: https://chrome.dev/reading-flow-examples/

  • CSS Shape Function
    CSSShapeFunctionchromestatus.com

    shape() allows responsive free-form shapes in clip-path. The author can define a series of verbs, roughly equivalent to the verbs in path(), but where the verbs accept responsive units (e.g. % or vw), as well as any CSS values such as custom properties or rather than pixel-values. See https://drafts.csswg.org/css-shapes-2/#shape-function

  • CSS Sibling Functions
    CSSSiblingFunctionschromestatus.com

    sibling-index() and sibling-count() can be used as integers in CSS property values to style elements based on their position among its siblings, or the total number of siblings respectively. These functions can be used directly as integer values, but more interestingly inside calc() expressions. Example: li { margin-left: calc(10px * sibling-index()); }

  • CSS Sign Related Functions
    CSSSignRelatedFunctionschromestatus.com

    The sign-related functions ​abs() and sign() ​compute various functions related to the sign of their argument. The abs(A) function contains one calculation A, and returns the absolute value of A, as the same type as the input: if A’s numeric value is positive or 0⁺, just A again; otherwise -1 * A. The sign(A) function contains one calculation A, and returns -1 if A’s numeric value is negative, +1 if A’s numeric value is positive, 0⁺ if A’s numeric value is 0⁺, and 0⁻ if A’s numeric value is 0⁻. The return type is a <number>, made consistent with the input calculation’s type.

  • CSS System Accent Color
    CSSSystemAccentColorchromestatus.com

    This feature empowers web developers to enhance the visual appeal of their websites by leveraging the operating system's accent color for form elements. By utilizing the "accent-color" CSS property, developers can ensure that form elements such as checkboxes, radio buttons, and progress bars automatically adopt the accent color defined by the user's operating system. This feature is an enhancement to existing feature that is already shipped in Chromium: https://groups.google.com/a/chromium.org/g/blink-dev/c/WwYkLjbGhoA

  • CSS Text Auto Space
    CSSTextAutoSpacechromestatus.com

    Inserts small spacings to match the established typographic rules automatically. The spec currently defines one rule for Han ideographic characters and one for French. The initial implementation focuses on the Han ideographic characters rule. Text written in Han ideographic writing systems often mixes multiple scripts, usually the Han ideographic scripts, Latin scripts, and ASCII digits. Small spacings when switching from and to non-Han ideographic scripts often help the readability. This property lets browsers insert such spacings automatically. This property has several values, including values for other writing systems. The initial implementation supports `normal` and `no-autospace`. The initial value is set to `no-autospace` to start conservatively and be more careful for the site compatibilities. Authors can add `text-autospace: normal` to enable the feature.

  • CSS View Transition Auto Name
    CSSViewTransitionAutoNamechromestatus.com

    Contact emails vmpstr@chromium.org, nrosenthal@chromium.org Explainer None Specification https://drafts.csswg.org/css-view-transitions-2/#auto-vt-name Summary 'auto' uses the element's id attribute to generate a unique match for view transition cases. In absence of the id, it generates a unique id based on the element's identity and remains the same for this element. This is used in Single Page App or Multi Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

  • CSS View Transition Match Element
    CSSViewTransitionMatchElementchromestatus.com

    'match-element' generates a unique id based on the element's identity and renames the same for this element. This is used in Single Page App cases where the element is being moved around and the desire is to animate it with a view transition Note this is split off from https://chromestatus.com/feature/6575974796492800 which contains additional discussions

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

  • Database

    NotRestoredReasons API has been launched as part of PerformanceNavigationTiming API. This PR specified the names of the reasons that User Agents can choose to expose. https://github.com/whatwg/html/pull/10154 This entry is about chromium changing the names of the reasons so that they match the ones specified. List of changes: "extension-messaging", "pending-permission-request", "not-main-frame", "frame-navigating", "timeout", "cookie-disabled", "cookie-removed", "printing", "web-database", "injected-javascript", "injected-stylesheet" -> "masked" "response-method-not-get"->"request-method-not-get" "serviceworker-version-activation" -> "serviceworker-version-activated" "serviceworker-added-after-bfcache" -> "serviceworker-added" "serviceworker-unregistration" -> "serviceworker-unregistered" "unload-handler" -> "unload-listener" "session-restored" -> null

  • Device Orientation Request Permission
    DeviceOrientationRequestPermissionchromestatus.com

    Allows developers to ask for permission to use the Device Orientation and Device Motion APIs. Access to these APIs is currently granted by default, and these new functions are part of the long-term plan to require requesting permission before using window.ondevicemotion and window.ondeviceorientation.

  • Dialog New Focus Behavior
    DialogNewFocusBehaviorchromestatus.com

    Some changes are being made to which element is selected to get focus when a dialog element is opened: 1. Make the dialog focusing steps look at keyboard focusable elements instead of any focusable element. 2. Make the dialog element itself get focus if it has the autofocus attribute set. 3. Make the dialog element itself get focus as a fallback instead of focus being "reset" to the body element.

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

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

  • Escape Lt Gt In Attributes
    EscapeLtGtInAttributeschromestatus.com

    Escape "<" and ">" in values of attributes on serialization. This mitigates the risk of mutation XSS attacks, which occur when value of an attribute is interpreted as a start tag token after being serialized and re-parsed.

  • Extended Text Metrics
    ExtendedTextMetricschromestatus.com

    Expand the TextMetrics Canvas API to support selection rectangles, bounding box queries, and grapheme cluster-based operations. This new functionality should enable complex text editing applications with accurate selection, caret positioning, and hit testing. Additionally, cluster-based rendering facilitates sophisticated text effects such as independent character animations and styling.

  • Face Detector
    FaceDetectorchromestatus.com

    The Face Detection API is a subset of the Shape Detection API which provides the ability to detect human faces and facial landmarks in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • Fetch Later API
    FetchLaterAPIchromestatus.com

    fetchLater() is a JavaScript API to request a deferred fetch. Once called in a document, a deferred request is queued by the browser in the PENDING state, and will be invoked by the earliest of the following conditions: * The document is destroyed. * After a user-specified time. For privacy reason, all pending requests will be flushed upon document entering bfcache no matter how much time is left. * Browser decides it's time to send it. The API returns a FetchLaterResult that contains a boolean field "activated" that may be updated to tell whether the deferred request has been sent out or not. On successful sending, the whole response will be ignored by browser, including body and headers. Nothing at all should be processed or updated, as the page may have already be gone. Note that from the point of view of the API user, the exact send time is unknown.

  • File System Access API Experimental
    FileSystemAccessAPIExperimentalchromestatus.com

    Currently, the File System Access API does not support an efficient way to move or rename files or directories. This requires creating a new file/directory, copying over data (recursively, in the case of a directory), and removing the original. This process is slow, error prone (e.g. disk full), and can require re-uploading files in some cases. See https://github.com/WICG/file-system-access/pull/317

  • Focusgroup

    The Focusgroup feature will facilitate keyboard focus navigation using the keyboard arrow keys among a set of focusable elements.

  • Gamepad Multitouch
    GamepadMultitouchchromestatus.com

    Extend the Gamepad API to support multitouch surfaces (touchpads). Providing a touchpad API eases application implementation and provides greater functionality browser interoperability.

  • Indexed Db Get All Records
    IndexedDbGetAllRecordschromestatus.com

    This feature adds the getAllRecords() API to IndexedDB's IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality enables certain read patterns to be significantly faster when compared to the existing alternative of iteration with cursors. One key workload from a Microsoft property showed a 350ms improvement. getAllRecords() effectively combines getAllKeys() and getAll() by enumerating 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. getAllRecords() can optionally return records in either ascending or descending order. This option is also back-ported to the existing operations getAll() and getAllKeys().

  • Inverted Colors
    InvertedColorschromestatus.com

    Adds the `inverted-colors` media feature, an indication that the user agent or underlying operating system has forcibly inverted all colors, not a request to do so. This is sometimes provided as a simple accessibility feature, allowing users to switch between light-on-dark and dark-on-light text. Valid options are 'inverted' or 'none'.

  • Language Detection API
    LanguageDetectionAPIchromestatus.com

    A JavaScript API for detecting the language of text, with confidence levels. An important supplement to translation is language detection. This can be combined with translation, e.g. taking user input in an unknown language and translating it to a specific target language. Browsers today often already have langauge detection capabilities, and we want to offer them to web developers through a JavaScript API, supplementing the translation API. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable.

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

  • Media Capture Background Blur
    MediaCaptureBackgroundBlurchromestatus.com

    The Background Blur API allows web developers to use the native platform's API for camera background segmentation. As Background Blur has become one of the most used features on video conferencing apps like Teams, Meet, Zoom, and Webex, we want web apps to leverage the same platform APIs without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions.

  • Media Capture Voice Isolation
    MediaCaptureVoiceIsolationchromestatus.com

    This is about adding support in Chrome for the VoiceIsolation getUserMedia constraint (https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint). The constraint only takes effect on platforms where there is low-level support for voice-isolation style denoising. Currently this is limited to a selected number of ChromeOS devices, but further platforms will be added.

  • Media Source Extensions For Web Codecs
    MediaSourceExtensionsForWebCodecschromestatus.com

    Extends the Media Source Extensions API (MSE) to enable buffering containerless WebCodecs encoded media chunks with MSE for low-latency buffering and seekable playback.

  • Media Source New Abort And Duration
    MediaSourceNewAbortAndDurationchromestatus.com

    The Media Source standard long ago changed to disallow ambiguously defined behavior involving asynchronous range removals: * SourceBuffer.abort() no longer aborts SourceBuffer.remove() operations * Setting MediaSource.duration can no longer truncate currently buffered media Exceptions will be thrown in both of these cases now. Safari and Firefox have long shipped this behavior, Chromium is the last browser remaining with the old behavior. Use counters show ~0.001%-0.005% of page loads hit the deprecated behavior. Primarily small Russian sites. If a site hits this issue, playback may now break. Usage of abort() cancelling removals is increasing, so it's prudent to resolve this deprecation before more incompatible usage appears.

  • Navigate Event Source Element
    NavigateEventSourceElementchromestatus.com

    When a navigation is initiated by an Element (i.e., a link click or a form submission), the sourceElement property on the NavigateEvent will be the initiating element.

  • Navigation Id
    NavigationIdchromestatus.com

    This adds a Performance Timeline entry type, "back-forward-cache-restoration", which is emitted every time that a page is retrieved from the back-forward cache, and a field on all performance timeline entries, "navigationId", which can be used to tie performance events to the most recent navigation-like event. This allows developers to more easily use the performance APIs to compare the user experience of an SPA or a bfcache-eligible page with that of a traditional multi-page experience.

  • Nested View Transition
    NestedViewTransitionchromestatus.com

    Allow view-transitions to generate a nested pseudo-element tree rather than a flat one. This allows the view transition to appear more in line with its original elements and visual intent, as it enables clipping, nested 3D transforms, and proper application of effects like opacity, masking and filters.

  • Observable API
    ObservableAPIchromestatus.com

    Observables are a popular reactive-programming paradigm to handle an asynchronous stream of push-based events. They can be thought of as Promises but for multiple events, and aim to do what Promises did for callbacks/nesting. That is, they allow ergonomic event handling by providing an Observable object that represents the asynchronous flow of events. You can "subscribe" to this object to receive events as they come in, and call any of its operators/combinators to declaratively describe the flow of transformations through which events go. This is in contrast with the imperative version, which often requires complicated nesting with things like `addEventListener()`. For more on this, see the examples in the explainer. The big selling point for native Observables is their integration with EventTarget — its proposed `when()` method that returns an Observable which is a "better" `addEventListener()`. See https://github.com/WICG/observable and https://twitter.com/domfarolino/status/1684921351004430336. See the spec https://wicg.github.io/observable/ and the design doc: https://docs.google.com/document/d/1NEobxgiQO-fTSocxJBqcOOOVZRmXcTFg9Iqrhebb7bg/edit.

  • Paint Timing Mixin
    PaintTimingMixinchromestatus.com

    Expose "paintTime" and "presentationTime" in event timing, element timing, LCP, long animation frames, paint timing. "paintTime" means the time when the rendering phase ended and the browser started the paint phase. "presentationTime" means the time when the "pixels reached the screen", which is somewhat implementation-defined

  • Payment App

    The API helps to develop new payment apps in web standard ways (e.g. service worker). If using them, payment app providers can provide simplified payment methods and user experiences.

  • Payment Link Detection
    PaymentLinkDetectionchromestatus.com

    Adds support for <link rel="facilitated-payment" href="..."> as a hint that the browser should notify registered payment clients about a pending push payment.

  • Payment Request
    PaymentRequestchromestatus.com

    To help developers reduce friction in Payment Request flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change.

  • Performance Navigation Timing Confidence
    PerformanceNavigationTimingConfidencechromestatus.com

    Web applications may suffer from bimodal distribution in page load performance, due to factors outside of the web application’s control. For example: * When a user agent first launches (a "cold start" scenario), it must perform many expensive initialization tasks that compete for resources on the system. * Browser extensions can affect the performance of a website. For instance, some extensions run additional code on every page you visit, which can increase CPU usage and result in slower response times. * When a machine is busy performing intensive tasks, it can lead to slower loading of web pages. In these scenarios, content the web app attempts to load will be in competition with other work happening on the system. This makes it difficult to detect if performance issues exist within web applications themselves, or because of external factors. Teams we have worked with have been surprised at the difference between real-world dashboard metrics and what they observe in page profiling tools. Without more information, it is challenging for developers to understand if (and when) their applications may be misbehaving or are simply being loaded in a contended period. A new ‘confidence’ field on the PerformanceNavigationTiming object will enable developers to discern if the navigation timings are representative for their web application.

  • Permission Element
    PermissionElementchromestatus.com

    Provide a new HTML element that interacts with the permission flow. The permission prompt is currently triggered directly from JS without the user agent having any strong signal of the user's intent. Having an in-content element that the user uses to trigger the permission flow allows for improved permission prompt UX for users as well as a recovery path from the "denied" permission state for sites. Explainer: https://github.com/WICG/PEPC/blob/main/explainer.md Instructions: https://github.com/WICG/PEPC/blob/main/HOWTO.md Developer facing documentation: https://developer.chrome.com/blog/permission-element-origin-trial

  • Potential Permissions Policy Reporting
    PotentialPermissionsPolicyReportingchromestatus.com

    Introduces a new violation type called "Potential Permissions Policy violation", which will only look at Permissions Policy (including report-only policy) and the allow attribute set in iframes to detect the conflict between Permissions Policy enforced vs permissions propagated to iframes.

  • Private Network Access Null Ip Address
    PrivateNetworkAccessNullIpAddresschromestatus.com

    We propose to block access to IP address 0.0.0.0 in advance of PNA completely rolling out. Chrome is deprecating direct access to private network endpoints from public websites as part of the Private Network Access (PNA) specification (https://developer.chrome.com/blog/private-network-access-preflight/). Services listening on the localhost (127.0.0.0/8) are considered private according to the specification (https://wicg.github.io/private-network-access/#ip-address-space-heading). Chrome's PNA protection (rolled out as part of https://chromestatus.com/feature/5436853517811712) can be bypassed using the IP address 0.0.0.0 to access services listening on the localhost on macOS and Linux. This can also be abused in DNS rebinding attacks targeting a web application listening on the localhost. Since 0.0.0.0 is not used in practice (and should not be used), but was overlooked during https://chromestatus.com/feature/5436853517811712, we're deprecating it separately from the rest of the private network requests deprecation.

  • Rel Opener Bcg Dependency Hint
    RelOpenerBcgDependencyHintchromestatus.com

    Extends the use of the "opener" rel type to same-window navigations to signal to the browser that the destination page will open a new window and the referring page expects to be able to access it. Some user agents perform browsing context group changes on navigation that aren't strictly necessary for security in order to improve performance. This results in named window reuse not being possible across a back navigation. Annotating an anchor element with "opener" will signal to the user agent that performing a browsing context group change would break a future opener relationship.

  • 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 Encoded Frame Set Metadata
    RTCEncodedFrameSetMetadatachromestatus.com

    Allow WebRTC Encoded Transform API to manipulate audio and video frame metadata. Some WebRTC Encoded Transform use cases involve manipulation of not only the payload of encoded video / audio frames but also its metadata. Some examples: * Altering the timestamp of a frame to introduce a delay, * Changing the mime type of the frame if the transform changes the type of the payload. * Forwarding of media to a new peer connection set up to use different metadata values Use cases: https://w3c.github.io/webrtc-nv-use-cases/#live-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#stored-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#auction Issue link: https://github.com/w3c/webrtc-nv-use-cases/issues/77

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

  • Selection Across Shadow DOM
    SelectionAcrossShadowDOMchromestatus.com

    This feature ships two new API methods for the Selection API: * Selection.direction which returns the selection's direction as either "none", "forward" or "backward" * Selection.getComposedRanges() which returns a list of 0 or 1 “composed” StaticRange A “composed” StaticRange is allowed to cross shadow boundaries, which normal Ranges cannot. For example: const range = getSelection().getComposedRanges({ shadowRoots: [root] }); If the selection crosses a shadow root boundary that isn’t provided in the shadowRots list, then the StaticRange's endpoints will be “rescoped” to be outside that tree. This makes sure we do not expose unknown shadow trees.

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

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

  • Signature Based Integrity
    SignatureBasedIntegritychromestatus.com

    This feature provides web developers with a mechanism to verify the provenance of resources they depend upon, creating a technical foundation for trust in a site's dependencies. In short: servers can sign responses with a Ed25519 key pair, and web developers can require the user agent to verify the signature using a specific public key. This offers a helpful addition to URL-based checks offered by Content Security Policy on the one hand, and Subresource Integrity's content-based checks on the other.

  • Soft Navigation Heuristics
    SoftNavigationHeuristicschromestatus.com

    Exposes the (experimental) soft navigation heuristics to web developers, using both PerformanceObserver and the performance timeline. This feature reports two new performance entries: - "soft-navigation", for user interactions which navigate the page. Defines a new timeOrigin to help slice the performance timeline. - "interaction-contentful-paint", which reports on the loading performance of interactions (beyond just next paint), used as LCP for soft-navigations.

  • Text Detector
    TextDetectorchromestatus.com

    The Text Detection API is a subset of the Shape Detection API which provides the ability to detect and optionally transcribe text in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag.

  • Tpcd

    This experiment exposes a temporary set of APIs which provide access to browser-determined treatment and control groups to support opt-in server side testing of the third-party cookie deprecation.

  • Viewport Segments
    ViewportSegmentschromestatus.com

    The Viewport Segments API allows developers to adapt their website/webapp layout to target foldable devices. The viewport segments defines the position and dimensions of a logically separate region of the viewport. Viewport segments are created when the viewport is split by one or more hardware features (such as a fold or a hinge between separate displays) that act as a divider; segments are the regions of the viewport that can be treated as logically distinct by the author.

  • Web App Installation
    WebAppInstallationchromestatus.com

    The Web Install API allows a web site to install a web app (same or cross domain). This functionality allows the creation of web based catalogues that can install PWAs directly from the web and into multiple platforms. https://aka.ms/webinstall

  • Web App Scope Extensions
    WebAppScopeExtensionschromestatus.com

    Adds a "scope_extensions" web app manifest field that enables web apps to extend their scope to other origins. Example usage: { "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ {"type" : "origin", "origin" : "https://example.com"} ] } This allows sites that control multiple subdomains and top level domains to be presented as a single web app. Requires listed origins to confirm association with the web app using a .well-known/web-app-origin-association configuration file. { "https://sample-app.com/": { "scope": "/" } }

  • Web Codecs Orientation
    WebCodecsOrientationchromestatus.com

    Introduces "rotation: int" and "flip: bool" values to various video related interfaces in WebCodecs so that developers can work with frame sources that have orientation (E.g., Android cameras, certain media). The VideoFrame interface grows the ability to create VideoFrames with arbitrary rotation and flip as well as accessors for this information on the VideoFrame object. The VideoDecoderConfig object gains rotation and flip fields that are emitted on decoded VideoFrame objects automatically. The VideoEncoder class gains mechanisms for passing rotation and flip information from encode() to the VideoDecoderConfig emitted as part of EncodedVideoChunkMetadata. If encode() is called with frames with different orientations a non-fatal exception will be thrown. configure() may be used to reset the allowed orientation.

  • Web Crypto Ed25519
    WebCryptoEd25519chromestatus.com

    This feature adds support for Curve25519 algorithms in the Web Cryptography API, namely the signature algorithm Ed25519

  • WebGPU Experimental Features
    WebGPUExperimentalFeatureschromestatus.com

    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.

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

  • Web Preferences
    WebPreferenceschromestatus.com

    The Web Preference API aims to provide a way for sites to override the value for a given user preference (e.g. color-scheme preference) in a way that fully integrates with existing Web APIs.

  • Web XR Layers

    WebXR Layers offers a more efficient way of drawing immersive content. In addition to support for native color and depth textures and texture arrays, it also provides support for different layer types that are managed by the system compositor (as opposed to javascript).

  • Web XR Spec Parity
    WebXRSpecParitychromestatus.com

    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

Features in Chromium 134 without description
  • Accessibility Aria Virtual Content
    AccessibilityAriaVirtualContent
    Accessibility Implicit Actions
    AccessibilityImplicitActions
    Accessibility OS Level Bold Text
    AccessibilityOSLevelBoldText
    Accessibility Serialization Size Metrics
    AccessibilitySerializationSizeMetrics
    Address Space
    AddressSpace
    Allow Java Script To Reset Autofill State
    AllowJavaScriptToResetAutofillState
    Allow Preloading With CSP Meta Tag
    AllowPreloadingWithCSPMetaTag
    AOM Aria Relationship Properties
    AOMAriaRelationshipProperties
    AOM Aria Relationship Properties Aria Owns
    AOMAriaRelationshipPropertiesAriaOwns
    App Title
    AppTitle
    Aria Actions
    AriaActions
    Audio Video Tracks
    AudioVideoTracks
    Auto Picture In Picture Video Heuristics
    AutoPictureInPictureVideoHeuristics
    Back Forward Cache Experiment HTTP Header
    BackForwardCacheExperimentHTTPHeader
    Back Forward Cache Update Not Restored Reasons Name
    BackForwardCacheUpdateNotRestoredReasonsName
    Blocking Focus Without User Activation
    BlockingFocusWithoutUserActivation
    Cache Storage Code Cache Hint
    CacheStorageCodeCacheHint
    Canvas2d Canvas Filter
    Canvas2dCanvasFilter
    Canvas2d GPU Transfer
    Canvas2dGPUTransfer
    Canvas2d Layers With Options
    Canvas2dLayersWithOptions
    Canvas2d Text Metrics Shaping
    Canvas2dTextMetricsShaping
    Canvas HDR
    CanvasHDR
    Canvas Place Element
    CanvasPlaceElement
    Cascaded After Change Style
    CascadedAfterChangeStyle
    Composite BG Color Animation
    CompositeBGColorAnimation
    Composite Clip Path Animation
    CompositeClipPathAnimation
    Computed Accessibility Info
    ComputedAccessibilityInfo
    Correct Template Form Parsing
    CorrectTemplateFormParsing
    CSS Accent Color Keyword
    CSSAccentColorKeyword
    CSS Anchor Position Area Visual Position
    CSSAnchorPositionAreaVisualPosition
    CSS Color Contrast
    CSSColorContrast
    CSS Color Typed OM
    CSSColorTypedOM
    CSS Cross Fade
    CSSCrossFade
    CSS Layout API
    CSSLayoutAPI
    CSS Line Clamp
    CSSLineClamp
    CSS Marker Nested Pseudo Element
    CSSMarkerNestedPseudoElement
    CSS Paint API Arguments
    CSSPaintAPIArguments
    CSS Pseudo Has Slotted
    CSSPseudoHasSlotted
    CSS Relative Color Late Resolve Always
    CSSRelativeColorLateResolveAlways
    CSS Scope Import
    CSSScopeImport
    CSS Selector Fragment Anchor
    CSSSelectorFragmentAnchor
    CSS Shape Function Composite Animation
    CSSShapeFunctionCompositeAnimation
    CSS Supports At Rule Function
    CSSSupportsAtRuleFunction
    CSS Video Dynamic Range Media Queries
    CSSVideoDynamicRangeMediaQueries
    Customizable Select Element Accessibility Issues
    CustomizableSelectElementAccessibilityIssues
    Desktop Capture Disable Local Echo Control
    DesktopCaptureDisableLocalEchoControl
    Dialog Close When Open Removed
    DialogCloseWhenOpenRemoved
    Disable Hardware Noise Suppression
    DisableHardwareNoiseSuppression
    Disable Third Party Storage Partitioning3
    DisableThirdPartyStoragePartitioning3
    Display Contents Focusable
    DisplayContentsFocusable
    Document Open Origin Alias Removal
    DocumentOpenOriginAliasRemoval
    Document Policy Document Domain
    DocumentPolicyDocumentDomain
    Document Policy Negotiation
    DocumentPolicyNegotiation
    Document Policy Sync XHR
    DocumentPolicySyncXHR
    DOM Parts API
    DOMPartsAPI
    Event Timing Interaction Count
    EventTimingInteractionCount
    Event Timing Selection Auto Scroll No Interaction Id
    EventTimingSelectionAutoScrollNoInteractionId
    Experimental Content Security Policy Features
    ExperimentalContentSecurityPolicyFeatures
    Experimental JS Profiler Markers
    ExperimentalJSProfilerMarkers
    Experimental Policies
    ExperimentalPolicies
    File System Observer Unobserve
    FileSystemObserverUnobserve
    Find Text In Readonly Text Input
    FindTextInReadonlyTextInput
    Freeze Frames On Visibility
    FreezeFramesOnVisibility
    Get Display Media Requires User Activation
    GetDisplayMediaRequiresUserActivation
    HTML Anchor Attribute
    HTMLAnchorAttribute
    HTML Interest Target Attribute
    HTMLInterestTargetAttribute
    HTML Invoke Target Attribute
    HTMLInvokeTargetAttribute
    Image Data Pixel Format
    ImageDataPixelFormat
    Inner HTML Parser Fastpath Log Failure
    InnerHTMLParserFastpathLogFailure
    Interoperable Private Attribution
    InteroperablePrivateAttribution
    Is Secure Payment Confirmation Available API
    IsSecurePaymentConfirmationAvailableAPI
    Java Script Compile Hints Magic Always Runtime
    JavaScriptCompileHintsMagicAlwaysRuntime
    Java Script Compile Hints Magic Runtime
    JavaScriptCompileHintsMagicRuntime
    Keyboard Accessible Tooltip
    KeyboardAccessibleTooltip
    Limit Third Party Cookies
    LimitThirdPartyCookies
    Long Animation Frame Source Char Position
    LongAnimationFrameSourceCharPosition
    Media Capabilities Encoding Info
    MediaCapabilitiesEncodingInfo
    Media Capture Camera Controls
    MediaCaptureCameraControls
    Media Capture Configuration Change
    MediaCaptureConfigurationChange
    Media Source Experimental
    MediaSourceExperimental
    Navigate Event Commit Behavior
    NavigateEventCommitBehavior
    Notification Triggers
    NotificationTriggers
    Offscreen Canvas Commit
    OffscreenCanvasCommit
    Origin Policy
    OriginPolicy
    Overscroll Customization
    OverscrollCustomization
    Partitioned Popins
    PartitionedPopins
    Performance Mark Feature Usage
    PerformanceMarkFeatureUsage
    Performance Navigate System Entropy
    PerformanceNavigateSystemEntropy
    Per Method Can Make Payment Quota
    PerMethodCanMakePaymentQuota
    Permissions Request Revoke
    PermissionsRequestRevoke
    Prefers Reduced Data
    PrefersReducedData
    Private Network Access Non Secure Contexts Allowed
    PrivateNetworkAccessNonSecureContextsAllowed
    Pseudo Elements Focusable
    PseudoElementsFocusable
    Push Messaging Subscription Change
    PushMessagingSubscriptionChange
    Resource Timing Content Encoding
    ResourceTimingContentEncoding
    Resource Timing Content Type
    ResourceTimingContentType
    Restrict Gamepad Access
    RestrictGamepadAccess
    Rtc Audio Jitter Buffer Max Packets
    RtcAudioJitterBufferMaxPackets
    RTC Encoded Audio Frame Abs Capture Time
    RTCEncodedAudioFrameAbsCaptureTime
    RTC Encoded Frame Timestamps
    RTCEncodedFrameTimestamps
    RTC Encoded Video Frame Additional Metadata
    RTCEncodedVideoFrameAdditionalMetadata
    RTC Legacy Callback Based Get Stats
    RTCLegacyCallbackBasedGetStats
    RTC Stats Relative Packet Arrival Delay
    RTCStatsRelativePacketArrivalDelay
    Scoped Custom Element Registry
    ScopedCustomElementRegistry
    Scroll Timeline Current Time
    ScrollTimelineCurrentTime
    Secure Payment Confirmation Network And Issuer Icons
    SecurePaymentConfirmationNetworkAndIssuerIcons
    Selectedcontentelement Attribute
    SelectedcontentelementAttribute
    Sensor Extra Classes
    SensorExtraClasses
    Service Worker Client Lifecycle State
    ServiceWorkerClientLifecycleState
    Set Sequential Focus Starting Point
    SetSequentialFocusStartingPoint
    Signature Based Inline Integrity
    SignatureBasedInlineIntegrity
    Site Initiated Mirroring
    SiteInitiatedMirroring
    Skip Callbacks When Dev Tools Not Open
    SkipCallbacksWhenDevToolsNotOpen
    Speaker Selection
    SpeakerSelection
    Standardized Timer Clamping
    StandardizedTimerClamping
    Storage Access Header
    StorageAccessHeader
    Storage Buckets Durability
    StorageBucketsDurability
    Storage Buckets Locks
    StorageBucketsLocks
    Strict Mime Types For Workers
    StrictMimeTypesForWorkers
    Synthesized Keyboard Events For Accessibility Actions
    SynthesizedKeyboardEventsForAccessibilityActions
    System Wake Lock
    SystemWakeLock
    Text Fragment API
    TextFragmentAPI
    Timestamp Based CLS Tracking
    TimestampBasedCLSTracking
    Time Zone Change Event
    TimeZoneChangeEvent
    Topics Img API
    TopicsImgAPI
    Top Level Tpcd
    TopLevelTpcd
    Trusted Type Before Policy Creation Event
    TrustedTypeBeforePolicyCreationEvent
    Trusted Types From Literal
    TrustedTypesFromLiteral
    Trusted Types Use Code Like
    TrustedTypesUseCodeLike
    Unclosed Form Control Is Invalid
    UnclosedFormControlIsInvalid
    Unencoded Digest
    UnencodedDigest
    URL Pattern Compare Component
    URLPatternCompareComponent
    User Defined Entry Point Timing
    UserDefinedEntryPointTiming
    Video Frame Metadata Background Blur
    VideoFrameMetadataBackgroundBlur
    Web Animations SVG
    WebAnimationsSVG
    Web App Translations
    WebAppTranslations
    Web Assembly JS Promise Integration
    WebAssemblyJSPromiseIntegration
    Web Authentication Ambient
    WebAuthenticationAmbient
    Web Authentication Attestation Formats
    WebAuthenticationAttestationFormats
    Web Authentication Challenge Url
    WebAuthenticationChallengeUrl
    Web Authentication Supplemental Pub Keys
    WebAuthenticationSupplementalPubKeys
    Web Bluetooth Get Devices
    WebBluetoothGetDevices
    Web Bluetooth Scanning
    WebBluetoothScanning
    Web Bluetooth Watch Advertisements
    WebBluetoothWatchAdvertisements
    Web Codecs Video Encoder Buffers
    WebCodecsVideoEncoderBuffers
    Web Font Resize LCP
    WebFontResizeLCP
    WebGL Developer Extensions
    WebGLDeveloperExtensions
    WebGPU Allow Null In Pipeline Layout Entries
    WebGPUAllowNullInPipelineLayoutEntries
    WebGPU Feature Level
    WebGPUFeatureLevel
    Web Transport Stats
    WebTransportStats
    Web View XR equested With Deprecation
    WebViewXRequestedWithDeprecation
    Web VTT Regions
    WebVTTRegions
    Web XR Frame Rate
    WebXRFrameRate
    Web XR Front Facing
    WebXRFrontFacing
    Web XR GPU Binding
    WebXRGPUBinding
    Web XR Hit Test Entity Types
    WebXRHitTestEntityTypes
    Web XR Image Tracking
    WebXRImageTracking
    Web XR Layers Common
    WebXRLayersCommon
    Web XR Plane Detection
    WebXRPlaneDetection
    Web XR Pose Motion Data
    WebXRPoseMotionData
    Window On Move Event
    WindowOnMoveEvent

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
Try for free
Polypane UI