The page shows which Project Fugu APIs are available in your browser.
Allows web sites to communicate over GATT with nearby user-selected Bluetooth devices in a secure and privacy-preserving way. Status in Chrome is more complicated than can be captured by this form. In Chrome 56, this shipped on Android, ChromeOS, and macOS. In Chrome 70 it is shipping on Windows 10. For earlier versions of Windows and Linux, it is still behind a flag (chrome://flags/#enable-experimental-web-platform-features).
π Chromium Bug: 419413
πSpecification: https://webbluetoothcg.github.io
πDocs:
π²Demos:
The web platform API to support programming USB devices.
π Chromium Bug: 492204
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
Web Share Target allows websites to receive shared data (text, URLs, images) and register to be choosable by the user as targets from sharing contexts, including (but not limited to) Web Share.
π Chromium Bug: 668389
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
Web Share API Level 2 allows sharing of files from the web to an app of the user's choosing. The API enables web developers to build share buttons that display the same system share dialog boxes used by native applications. Level 1 enabled system share dialogs; however only text and urls could previously be shared.
π Chromium Bug: 903010
πSpecification: https://w3c.github.io
πDocs:
π²Demos:
Implements programmatic copying and pasting of images for the Async Clipboard API. This change also updates navigator.clipboard.read() and navigator.clipboard.write() to comply with the specification. Programmatic copying and pasting of images is Chromium's top starred bug.
π Chromium Bug: 150835
πSpecification: https://w3c.github.io
πDocs:
Installed web applications can now receive file shares, e.g. images. Using the manifest, the web application can declare which MIME types and/or file extensions it accepts. Previously, mobile platforms allowed files to be shared to native applications, but not web applications.
π Chromium Bug: 885313
πSpecification: https://w3c.github.io
πDocs:
π²Demos:
The enterkeyhint content attribute is an enumerated attribute that specifies what action label (or icon) to present for the enter key on virtual keyboards. This allows authors to customize the presentation of the enter key in order to make it more helpful for users.
π Chromium Bug: 634330
πSpecification: https://html.spec.whatwg.org
πDocs:
π²Demos:
π Chromium Bug: 897276
The Get Installed Related Apps API (navigator.getInstalledRelatedApps) provides sites access to if their corresponding related applications are installed. Sites are only allowed to use this API if the native application has an established association with the web origin. The API was launched in Chrome 80. You can find details here: https://web.dev/get-installed-related-apps/
π Chromium Bug: 895854
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
Periodic Background Sync is an extension of Background Sync that allows websites to register tasks to be run in a service worker at periodic intervals with network connectivity.
π Chromium Bug: 925297
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
π Chromium Bug: 1007151
π Chromium Bug: 897298
Provides a way for websites to request information about the userβs contact(s) and provides a UI for the user to share those details in a way that makes it clear what is being shared with the website. This could be used for bootstrapping a friends list on a social network or (in an email/messaging application) to select message recipients.
π Chromium Bug: 860467
πSpecification: https://wicg.github.io
πDocs:
Allows web apps (as defined by the Web App Manifest standard) to set an app-wide badge in operating-system-specific places such as the shelf or home screen. Additionally, it gives the app a small, visible place to notify the user of new activity that might require attention, without showing a fullΒ notification. It can show additional information, such as an unread count or event type. It allows the app to convey this information when its windows are closed.
π Chromium Bug: 719176
πSpecification: https://w3c.github.io
πDocs:
π Chromium Bug: 937720
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.
π Chromium Bug: 659138
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
Allows websites to register offline enabled content in the browser. This allows the browser to improve the offline experience and allow content browsing when the user is offline. This data could also be used to improve on-device search and to augment browsing history.
π Chromium Bug: 973844
πDocs:
π²Demos:
The WebOTP API (formerly called the SMS Receiver API) notifies an application when a specially-crafted SMS message is delivered to the userβs phone. The message must be addressed to the application's origin. The application only receives an OTP code in the message.
π Chromium Bug: 670299
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
An API that allows web applications to request a screen wake lock. Under the right conditions, and if allowed, the screen wake lock prevents the system from turning off a device's screen.
π Chromium Bug: 257511
πSpecification: https://w3c.github.io
πDocs:
π²Demos:
The streams APIs provide ubiquitous, interoperable primitives for creating, composing, and consuming streams of data. A natural thing to do with a stream is to pass it to a web worker. This provides a fluent primitive for offloading work to another thread. Transferable streams add this capability by allowing ReadableStream, WritableStream, and TransformStream objects to be passed as arguments to postMessage().
π Chromium Bug: 894838
πSpecification: https://streams.spec.whatwg.org
π²Demos:
Lets a web application register shortcuts for common tasks. These would typically be added to the app launcher icon (for a progressive web app) enabling the user to quickly run key tasks.
π Chromium Bug: 955497
πSpecification: https://www.w3.org
πDocs:
This API enables developers to build powerful apps that interact with other (non-Web) apps on the userβs device via the deviceβs file system. After a user grants a web app access, this API allows the app to read or save changes directly to files and folders selected by the user. Beyond reading and writing files, this API provides the ability to open a directory and enumerate its contents, as well as store file and directory handles in IndexedDB to later regain access to the same content.
π Chromium Bug: 853326
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
The async clipboard api currently does not support the text/html format. This feature adds support for copying and pasting html from the clipboard. The HTML is sanitized when it is read and written to the clipboard.
π Chromium Bug: 931839
πSpecification: https://www.w3.org
π²Demos:
Aggregates and logs media settings ranges and photo capabilities in JSON. Changing MediaSettingsRange and PhotoCapabilities interfaces to dictionaries will improve developer ergonomics by allowing web developers to easily log and aggregate exposureCompensation, exposureTime, colorTemperature, iso, brightness, contrast, saturation, sharpness, focusDistance, pan, tilt, zoom, and photo capabilities (redEyeReduction, imageHeight, imageWidth, fillLightMode).
π Chromium Bug: 934063
πSpecification: https://w3c.github.io
π Chromium Bug: 895776
Adds the ability to request unadjusted/unaccelerated mouse movement data when in PointerLock. If this unadjustedMovement is set to true, then the pointer movements will not be affected by the underlying platform modifications such as mouse acceleration.
π Chromium Bug: 982379
πSpecification: https://github.com
πDocs:
π Chromium Bug: 1035527
Web NFC aims to provide sites the ability to read and write to NFC tags when they are brought in close proximity to the userβs device (usually 5-10 cm, 2-4 inches). The current scope is limited to NDEF, a lightweight binary message format. Low-level I/O operations (e.g. ISO-DEP, NFC-A/B, NFC-F) and Host-based Card Emulation (HCE) are not supported within the current scope.
π Chromium Bug: 520391
πSpecification: https://w3c.github.io
πDocs:
π²Demos:
Enables web applications to interact with human interface devices (HIDs) other than the standard supported devices (mice, keyboards, touchscreens, and gamepads). However, there are many other HID devices that are currently inaccessible to the web. This API allows web applications to request access to these devices, send and receive HID reports, and retrieve information about the report descriptor.
π Chromium Bug: 890096
πSpecification: https://wicg.github.io
πDocs:
The Serial API provides an interface for connecting to serial devices, either through a serial port on the userβs system or removable USB and Bluetooth devices that emulate a serial port. This API has been requested by the hardware developer community, especially developers building educational tools, as a companion to the WebUSB API because operating systems require applications to communicate with USB-based serial ports using their higher-level serial API rather than the low-level USB API.
π Chromium Bug: 884928
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
π Chromium Bug: 770595
This new API will help clients who are still using Chrome Apps to migrate to the Web, by using a simliar API to chrome.storage.managed Extensions API.
π Chromium Bug: 1141849
πSpecification: https://wicg.github.io
πDocs:
Provides a mechanism to allow users to configure a Progressive Web Application (PWA) to be launched automatically when a user logs in to the operating system.
π Chromium Bug: 897302
Provides efficient, low-level access to built-in (software and hardware) media encoders and decoders.
π Chromium Bug: 897297
πSpecification: https://wicg.github.io
πDocs:
The Idle Detection API notifies developers when a user is idle, indicating such things as lack of interaction with the keyboard, mouse, screen, activation of a screensaver, locking of the screen, or moving to a different screen. A developer-defined threshold triggers the notification.
π Chromium Bug: 878979
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
The EyeDropper API enables developers to use a browser-supplied eyedropper in the construction of custom color pickers.
π Chromium Bug: 897309
πSpecification: https://wicg.github.io
Enable web applications to register themselves as handlers of custom URL protocols/schemes using their installation manifest.
π Chromium Bug: 1019239
πSpecification: https://pr-preview.s3.amazonaws.com
π²Demos:
π Chromium Bug: 1069293
WebTransport is a protocol framework that enables clients constrained by the Web security model to communicate with a remote server using a secure multiplexed transport.
π Chromium Bug: 1011392
πSpecification: https://wicg.github.io
πDocs:
π Chromium Bug: 698793
π Chromium Bug: 957043
The HIDDevice forget() method allows web developers to voluntarily revoke a permission to a HIDDevice that was granted by a user.
π Chromium Bug: 1279822
πSpecification: https://github.com
Previously named "Multi-Screen Window Placement". Adds new screen information APIs and makes incremental improvements to existing window placement APIs, allowing web applications to offer compelling multi-screen experiences. The existing singular window.screen offers a limited view of available screen space, and window placement functions generally clamp bounds to the current screen. This feature unlocks modern multi-screen workspaces for web applications.
π Chromium Bug: 897300
πSpecification: https://w3c.github.io
πDocs:
π²Demos:
The NDEFReader makeReadOnly() method allows web developers to make NFC tags permanently read-only with Web NFC.
π Chromium Bug: 1275576
πSpecification: https://w3c.github.io
πDocs:
π²Demos:
Make USBConfiguration, USBInterface, USBAlternateInterface, and USBEndpoint instances returned by the accessors on USBDevice === comparable.
π Chromium Bug: 1274922
Following the recent HIDDevice forget() addition[1] to the web platform, the USBDevice forget() method allows web developers to voluntarily revoke a permission to a USBDevice that was granted by a user. [1] https://groups.google.com/a/chromium.org/g/blink-dev/c/Fk-IJF63UWc
π Chromium Bug: 1299351
πSpecification: https://wicg.github.io
πDocs:
The "exclusionFilters" option in navigator.hid.requestDevice() allows web developers to exclude some devices from the browser picker. It can be used to exclude devices that are known to be malfunctioning.
π Chromium Bug: 1301934
πSpecification: https://wicg.github.io
When the window controls overlay is enabled for installed desktop web apps, the app's client area is extended to cover the entire window--including the title bar area--and the window control buttons (close, maximize/restore, minimize) are overlaid on top of the client area. The web app developer is responsible for drawing and input-handling for the entire window except for the window controls overlay.
π Chromium Bug: 937121
πDocs:
π²Demos:
File Handling provides a way for web applications to declare the ability to handle files with given MIME types and extensions. The web application will receive an event when the user intends to open a file with that web application.
π Chromium Bug: 829689
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
Gives web applications the ability to enumerate local fonts and some metadata about each. Also gives web applications access to table data stored within local fonts, allowing those fonts to be rendered within their applications using custom text stacks.
π Chromium Bug: 535764
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
Following the recent HIDDevice[1] and USBDevice[2] forget() additions to the web platform, the SerialPort forget() method allows web developers to voluntarily revoke a permission to a SerialPort that was granted by a user. [1] https://groups.google.com/a/chromium.org/g/blink-dev/c/Fk-IJF63UWc [2] https://groups.google.com/a/chromium.org/g/blink-dev/c/pSM2W0TtKEI/
π Chromium Bug: 1312010
πSpecification: https://wicg.github.io
πDocs:
Web Custom formats let websites read and write arbitrary unsanitized payloads using a standardized web custom format, as well as read and write a limited subset of OS-specific formats (for supporting legacy apps). The name of the clipboard format is mangled by the browser in a standardized way to indicate that the content is from the web, which allows native applications to opt-in to accepting the unsanitized content.
π Chromium Bug: 106449
πSpecification: https://github.com
πDocs:
π²Demos:
Enable the Origin Private File System (OPFS) part of File System Access API on Android. This includes all of the File System Access API surface, minus show*Picker() methods and Drag-and-Drop API integration. With FSA API on OPFS, a site can access its per-origin, private file system and are able to perform file operations via `FileSystemSyncAccessHandle` with improved performance. The original API, including both OPFS and non-OPFS, was shipped in M86 for desktop, and the extension with SyncAccessHandle was shipped in M102. https://chromestatus.com/feature/6284708426022912 https://chromestatus.com/feature/5702777582911488
π Chromium Bug: 1354273
πSpecification: https://wicg.github.io
πDocs:
AudioContext.setSinkId sets the ID of the audio device to use for output. This allows the AudioContext to route audio to a connected output device of user's choosing.
π Chromium Bug: 1216187
πSpecification: https://github.com
The "exclusionFilters" option in navigator.bluetooth.requestDevice() allows web developers to exclude some devices from the browser picker. It can be used to exclude devices that match a broader filter but are unsupported.
π Chromium Bug: 1427977
πSpecification: https://webbluetoothcg.github.io
πDocs:
π²Demos:
π Chromium Bug: 1469651
The "exclusionFilters" option in navigator.usb.requestDevice() allows web developers to exclude some devices from the browser picker. It can be used to exclude devices that match a broader filter but are unsupported.
π Chromium Bug: 1455392
πSpecification: https://wicg.github.io
π Chromium Bug: 1472135
π Chromium Bug: 1504557
The Compute Pressure API offers high-level states that represent the pressure on the system. It allows the implementation to use the right underlying hardware metrics to ensure that users can take advantage of all the processing power available to them as long as the system is not under unmanageable stress. βPressureβ is a generic term by design β at the moment it is calculated based on CPU load, but future plans include using signals from temperature and battery status, for example.
π Chromium Bug: 1067627
πSpecification: https://www.w3.org
πDocs:
π²Demos:
Allow web app windows to have a tab strip. This adds a new display mode "tabbed" and a new manifest field to allow customizations to the tab strip.
π Chromium Bug: 897314
Provides illuminance data to web pages via the AmbientLightSensor object and the "reading" event.
π Chromium Bug: 606766
πSpecification: http://w3c.github.io
Adds the showTrigger property to the Notification interface to enable showing a notification at a specific time in the future, even if the device is offline. Websites can use this to schedule notifications without using push messages.
π Chromium Bug: 891339
πDocs:
Chrome's implementation of Web Bluetooth does not have a way for websites to get a list of permitted devices. This feature adds the Bluetooth.getDevices() and BluetoothDevice.forget methods. getDevices() will return a list of BluetoothDevice objects that the current origin has been granted permission to use by the user. forget() will allow web developers to voluntarily revoke a permission to a BluetoothDevice that was granted by a user.
π Chromium Bug: 577953
πSpecification: https://webbluetoothcg.github.io
π²Demos:
π Chromium Bug: 974879
Enables web applications to register as https URL handlers using their web app manifest.
π Chromium Bug: 1072058
πSpecification: https://github.com
πDocs:
π²Demos:
π Chromium Bug: 1090940
Introduce additional ways for web applications to introspect and control their windows, to enable critical window management functionality on the web platform. This enhancement allows web applications to maximize, minimize, and restore their windows and introspect that window display state. Further, it allows applications to be notified when the window is repositioned, and control whether the window can be resized. The window placement permission will be required for these capabilities. https://github.com/ivansandrk/additional-windowing-controls/blob/main/awc-explainer.md
π Chromium Bug: 1235296
When borderless mode is enabled for installed desktop web apps, the app's client area is extended to cover the entire window - including the title bar area and windowing control buttons (close, maximize/restore, minimize). The web app developer is responsible for drawing and input-handling for the entire window.
π Chromium Bug: 1235285
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
π Chromium Bug: 1061503
Adds a Controlled Frame API available only to Isolated Web Apps (IWAs). This work will add a new Controlled Frame API which is only available to Isolated Web Apps (IWAs). Like similarly-named APIs on other platforms, Controlled Frame allows embedding all content, even third party content that can't be embedded in <iframe>. Controlled Frame also allows controlling embedded content with a collection of API methods and events. For more info on Isolated Web Apps, see the IWA explainer: https://github.com/WICG/isolated-web-apps/blob/main/README.md
π Chromium Bug: 1233993
πSpecification: https://wicg.github.io
This API helps developers to detect the current posture of a foldable device. The device posture is the physical position in which a device holds which may be derived from sensors in addition to the angle. From enhancing the usability of a website by avoiding the area of a fold, to enabling innovative use cases for the web, knowing the posture of a device can help developers tailor their content to different devices. Content can be consumed and browsed even when the device is not flat, in which case the developer might want to provide a different layout for it depending on the posture state in which the device is being used.
π Chromium Bug: 1066842
πSpecification: https://www.w3.org
π²Demos:
Allows web apps to establish direct transmission control protocol (TCP) and user datagram protocol (UDP) communications with network devices and systems.
π Chromium Bug: 909927
πSpecification: https://wicg.github.io
π²Demos:
This proposal adds input events for gamepad button and axis inputs.
π Chromium Bug: 856290
πSpecification: https://github.com
An API for web applications to make use of advanced handwriting recognition services (e.g. those on operating systems) to recognize text from handwriting drawings (inks) in real time. In this context, handwriting drawing means the temporal and positional information used to describe a human handwriting process.
π Chromium Bug: 1207667
πSpecification: https://wicg.github.io
πDocs:
π Chromium Bug: 1245212
π Chromium Bug: 1046034
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.
π Chromium Bug: 1039050
πSpecification: https://github.com
πDocs:
π²Demos:
Web Audio Render Capacity API is a way preemptively determine audio thread overload. Generally, the Web Audio rendererβs performance is affected by the machine speed and the computational load of an audio graph. However, Web Audio API does not expose a way to monitor the computational load, and it leaves developers no options to detect glitches that are the essential part of UX in audio applications. This API provides developers with a βglitch indicatorβ.
π Chromium Bug: 1216181
πSpecification: https://webaudio.github.io
Support Bluetooth RFCOMM services in the Web Serial API. The Bluetooth RFCOMM (Radio frequency communication) protocol provides emulated RS-232 serial ports. This feature would enable applications to make connections to RFCOMM services on paired Bluetooth Classic devices using the Web Serial API.
π Chromium Bug: 1043300
πSpecification: https://github.com
The WebSocket API provides a JavaScript interface to the RFC6455 WebSocket protocol. While it has served well, it is awkward from an ergonomics perspective and is missing the important feature of backpressure. The intent of the WebSocketStream API is to resolve these deficiencies by integrating streams with the WebSocket API.
π Chromium Bug: 983030
πSpecification: https://github.com
πDocs:
π²Demos:
π Chromium Bug: 1100101
π Chromium Bug: 973796
π Chromium Bug: 1353748
π Chromium Bug: 1040063
π Chromium Bug: 1234177
π Chromium Bug: 1008394
π Chromium Bug: 1102452
π Chromium Bug: 487935
π Chromium Bug: 119881
π Chromium Bug: 1295253
π Chromium Bug: 1171260
π Chromium Bug: 1099775
π Chromium Bug: 1087120
π Chromium Bug: 933608
π Chromium Bug: 1275095
π Chromium Bug: 1275092
π Chromium Bug: 1130110
π Chromium Bug: 1275093
π Chromium Bug: 1090461
π Chromium Bug: 928962
π Chromium Bug: 967360
π Chromium Bug: 1043409
π Chromium Bug: 1018925
π Chromium Bug: 1018529
π Chromium Bug: 1208897
π Chromium Bug: 935699
π Chromium Bug: 897311
π Chromium Bug: 897310
π Chromium Bug: 937125
π Chromium Bug: 1163559
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.
π Chromium Bug: 1072847
πSpecification: https://wicg.github.io
πDocs:
π²Demos:
π Chromium Bug: 1178625
π Chromium Bug: 1337347
π Chromium Bug: 1071993
π Chromium Bug: 1019297
π Chromium Bug: 897323
FileSystemHandle.getUniqueId() generates a uniquely identifying string which can be used as a key, such as for IndexedDB or WebLocks. Currently, FileSystemHandle objects can be serialized by the browser to be stored as values in IndexedDB, but there is no way to generate a string which is guaranteed to be uniquely identifying.
π Chromium Bug: 1342961
πSpecification: https://github.com
π Chromium Bug: 1480859
π Chromium Bug: 1136480
π Chromium Bug: 1521143
π Chromium Bug: 1188278
π Chromium Bug: 1315065
π Chromium Bug: 1376947
π Chromium Bug: 1371606
π Chromium Bug: 1284746
π Chromium Bug: 1288498
π Chromium Bug: 1214621
π Chromium Bug: 1476508
π Chromium Bug: 962321
π Chromium Bug: 1021413
π Chromium Bug: 1170639
π Chromium Bug: 1334323
π Chromium Bug: 962437
π Chromium Bug: 1408792
π Chromium Bug: 1327857
π Chromium Bug: 1501610
π Chromium Bug: 1409050
π Chromium Bug: 1371645
π Chromium Bug: 1409033
π Chromium Bug: 1213776
π Chromium Bug: 933209
π Chromium Bug: 1163020
π Chromium Bug: 1322694
π Chromium Bug: 933215
π Chromium Bug: 1291639
π Chromium Bug: 1076901
π Chromium Bug: 897305
π Chromium Bug: 997514
π Chromium Bug: 1018022
π Chromium Bug: 897316
π Chromium Bug: 995236
π Chromium Bug: 1012078
π Chromium Bug: 1100983
π Chromium Bug: 1064238
π Chromium Bug: 897317
π Chromium Bug: 937124
π Chromium Bug: 1146063
Device Attributes Web API is a subset of Managed Device Web API, that provides web applications the capability to query device information (device ID, serial number, location, etc).
π Chromium Bug: 1132865
πSpecification: https://wicg.github.io
π²Demos:
π Chromium Bug: 1096567
π Chromium Bug: 941665
π Chromium Bug: 889077
π Chromium Bug: 1161950
π Chromium Bug: 1192397
π Chromium Bug: 1072848
π Chromium Bug: 1216516
π Chromium Bug: 939174
π Chromium Bug: 156382
π Chromium Bug: 898533
π Chromium Bug: 898536
π Chromium Bug: 1105623
π Chromium Bug: 1347244
π Chromium Bug: 976108
Add a "launch_handler" web app manifest member that enables web apps to customize their launch behavior across all types of app launch triggers. Example usage: { "name": "Example app", "start_url": "/index.html", "launch_handler": { "client_mode": "navigate-existing" } } This will cause all launches of the Example app to focus an existing app window and navigate it (if it exists) instead of always launching a new app window.
π Chromium Bug: 1231886
πSpecification: https://wicg.github.io
Enables Bluetooth Low Energy Scanning
π Chromium Bug: 897312
πSpecification: https://webbluetoothcg.github.io
π²Demos:
π Chromium Bug: 1047087
π Chromium Bug: 933217
π Chromium Bug: 1144920