Limited Availability
30 featuresThe EXT_texture_compression_bptc extension for WebGL 1.0 and 2.0 contexts adds the BPTC compressed texture formats to compressedTexImage2D() and compressedTexSubImage2D().
The EXT_texture_norm16 extension to WebGL 2.0 contexts adds 16 bit signed normalized and unsigned normalized fixed-point texture, renderbuffer, and texture buffer formats.
The fetch() method and Request() constructor accept a ReadableStream object as the request's body option, to stream upload data to the server.
The display_override: ["window-controls-overlay"] web application manifest member shows content in the title bar area of a progressive web app that is installed on a desktop device.
The text-decoration CSS property in a ::selection rule sets the underline and other text decoration styles on the text a user has highlighted.
The web prefix for ClipboardItem data types (also known as MIME types) allows reading and writing unsanitized custom data from the device clipboard.
When using navigator.mediaDevices.getDisplayMedia() to capture a browser tab as a video stream, the region capture API allows you to crop the video to the bounding box of a given element. In contrast to the element capture API, any content that overlays that element is also captured.
The object-view-box CSS property crops and zooms to an inset area of an image.
The DOMException, Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, and URIError objects are serializable. You can call structuredClone() on an error object or pass it to a worker using postMessage().
Streams are transferable objects, which can be moved between contexts such as windows and workers.
The window.queryLocalFonts() method returns an array of locally-installed fonts, each represented by a FontData object.
The capture handle API allows you to share a custom handle (a string) from a web application being captured by getDisplayMedia() to the capturing web application.
In columnar layouts (created by the columns or column-count CSS properties), the break-after, break-before, break-inside properties control where columns start or end.
The file_handlers web app manifest member registers an installed web app as a handler for files with specific file extensions or MIME types.
The video-dynamic-range CSS media query sets styles based on whether a device can display video with at least standard range colors or at least high range colors. Non-visual devices will match neither.
The attributionsourceid and attributiondestination attributes for <a> elements measure clicks across websites without associating a click to a specific session. Not to be confused with attribution reporting. Also known as PCM.
The background-attachment CSS property sets whether an element's background image or gradient moves as the element scrolls.
The color-adjust shorthand CSS property allows multiple performance related color adjustments to be set at once. Setting the print-color-adjust CSS property directly is preferred, as it is the only such adjustment so far defined.
The reversed() CSS function for counter-reset creates a counter that counts down.
The navigator.deviceMemory property is the approximate amount of device memory, in gigabytes.
The optional colorSpace parameter of a 2D canvas's getContext() method chooses the color representation, such as "srgb" or "display-p3".
The cursor CSS property styles the pointer, allowing you to provide hints to the user on how to interact with the hovered element.
COEP violation reporting sends a report to a URL nominated by the Reporting-Endpoints header or the ReportingObserver API when a page violates its Cross-Origin-Embedder-Policy policy.
The EyeDropper API opens an eyedropper tool, a color picker that allows users to select a color from their screen.
The protocol_handlers web app manifest member registers an installed web app as a handler for a specific protocol. When a user follows a link with the specified protocol, the installed app opens the link.
The image-rendering: smooth CSS declaration scales images while retaining a gradual color blending that is useful for photos.
The navigator.virtualKeyboard API inspects and controls on-screen virtual keyboards. You can use it to programmatically hide or show a virtual keyboard or respond to the keyboard disappearing or appearing.