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
πExplainers:
π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
πExplainers:
π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
πExplainers:
π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
πExplainers:
π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
πExplainers:
πDocs:
π Chromium Bug: 937720
The Barcode Detection API is a subset of the Shape Detection API which provides the ability to detect and decode barcodes 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. Some native platforms include built-in libraries for performing text detection and optical character recognition (OCR) in images. The availability of these libraries means that developers do not need to include a large third party library.
π Chromium Bug: 659138
πSpecification: https://wicg.github.io
πExplainers:
π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
πExplainers:
π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
πExplainers:
π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
πExplainers:
π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
πExplainers:
π²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
πExplainers:
π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
πExplainers:
π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:
This feature allows developers to pan and tilt the camera using media constraints in getUserMedia(). https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt
π Chromium Bug: 934063
πSpecification: https://github.com
πExplainers:
πDocs:
π²Demos:
π Chromium Bug: 1136480
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: 895776
π 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
πExplainers:
π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
πExplainers:
π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
πExplainers:
πDocs:
π²Demos:
π Chromium Bug: 770595
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
πExplainers:
πDocs:
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
πExplainers:
π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
πExplainers:
Provides efficient, low-level access to built-in (software and hardware) media encoders and decoders.
π Chromium Bug: 897297
πSpecification: https://wicg.github.io
πExplainers:
π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
πExplainers:
π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
πExplainers:
π Chromium Bug: 1069293
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
πExplainers:
π²Demos:
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
πExplainers:
πDocs:
π Chromium Bug: 698793
π Chromium Bug: 957043
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
πExplainers:
πDocs:
π²Demos:
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
πExplainers:
πDocs:
π²Demos:
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
πExplainers:
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:
Make USBConfiguration, USBInterface, USBAlternateInterface, and USBEndpoint instances returned by the accessors on USBDevice === comparable.
π Chromium Bug: 1274922
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
πExplainers:
π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
πExplainers:
πDocs:
π²Demos:
π Chromium Bug: 1310149
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:
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
πExplainers:
πDocs:
π²Demos:
π Chromium Bug: 1327857
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
πExplainers:
πDocs:
π²Demos:
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:
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
πExplainers:
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
The BluetoothDevice.watchAdvertisements() method will enable web apps to receive events when the system receives an advertisement packet from a watched device.
π Chromium Bug: 654897
πSpecification: https://webbluetoothcg.github.io
π²Demos:
Storage Foundation API is a storage API that resembles a very basic filesystem, with direct access to stored data through buffers and offsets. Our goal is to give developers flexibility by providing generic, simple, and performant primitives upon which they can build higher-level components. It's particularly well suited for Wasm-based libraries and applications that want to use custom storage algorithms to fine-tune execution speed and memory usage.
π Chromium Bug: 914488
πExplainers:
Enables web applications to register as https URL handlers using their web app manifest.
π Chromium Bug: 1072058
πSpecification: https://github.com
πExplainers:
πDocs:
π²Demos:
π Chromium Bug: 1090940
π Chromium Bug: 1235296
π Chromium Bug: 1235285
π Chromium Bug: 1061503
Gives the ability for web applications to anticipate and react to computational load changes on a device. Today, no API exists to provide signals about system computation usage. This API also gives a signal about processor state with respect to speed throttling.
π Chromium Bug: 1067627
πSpecification: https://wicg.github.io
πExplainers:
π²Demos:
π Chromium Bug: 1265982
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
This proposal adds input events for gamepad button and axis inputs.
π Chromium Bug: 856290
πSpecification: https://github.com
π Chromium Bug: 1066842
π Chromium Bug: 1046034
An API for enabling web applications on the lock screen of a device. The API would provide a way for web applications to indicate they can be run on the lock screen, pass data from the lock screen instance of the app to the unlocked instance (and vice versa), and be notified when there is data available.
π Chromium Bug: 1006642
πExplainers:
Adds a "launch_handler" 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
πExplainers:
π Chromium Bug: 1216181
Support Bluetooth "classic" serial ports in the Web Serial API. Support Bluetooth "classic" serial ports (SPP) on all Chrome platforms, not just those that automatically create serial port nodes (COM ports, etc.). This will also simplify the process of connecting to a serial port which will be done in the browser without the need to access a separate system settings UI.
π Chromium Bug: 1043300
πExplainers:
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
πExplainers:
πDocs:
π²Demos:
API that describes the logical segments of a windowβs viewport.
π Chromium Bug: 1039050
πSpecification: https://github.com
πExplainers:
πDocs:
π Chromium Bug: 1100101
π Chromium Bug: 973796
π 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
Adds image/svg+xml support to the Async Clipboard API. The current implementation of the Async Clipboard API only supports text/plain, image/png, and text/html. SVG images are popular due to their ability to encode images in a space efficiently and their ability to maintain image quality even when zooming in.
π Chromium Bug: 1110511
πSpecification: https://w3c.github.io
π²Demos:
π Chromium Bug: 1275093
π Chromium Bug: 1216187
π 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: 897324
π Chromium Bug: 897311
π Chromium Bug: 897310
π Chromium Bug: 937125
π Chromium Bug: 1250936
π Chromium Bug: 1163559
π Chromium Bug: 1178625
π Chromium Bug: 1337347
π Chromium Bug: 1071993
π Chromium Bug: 1019297
π Chromium Bug: 897323
π Chromium Bug: 1315065
π Chromium Bug: 1284746
π Chromium Bug: 1288498
π Chromium Bug: 1214621
π Chromium Bug: 962321
π Chromium Bug: 1021413
π Chromium Bug: 1170639
π Chromium Bug: 1334323
π Chromium Bug: 962437
π Chromium Bug: 1285870
π Chromium Bug: 1245212
π Chromium Bug: 1213776
π Chromium Bug: 933209
π Chromium Bug: 1250207
π Chromium Bug: 1163020
π Chromium Bug: 1322694
π Chromium Bug: 933215
π Chromium Bug: 1291639
π Chromium Bug: 897313
π Chromium Bug: 844279
π Chromium Bug: 1076901
π Chromium Bug: 897315
π Chromium Bug: 897305
π Chromium Bug: 897306
π Chromium Bug: 997514
π Chromium Bug: 937126
π 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
πExplainers:
π²Demos:
π Chromium Bug: 1096567
π Chromium Bug: 941665
π Chromium Bug: 889077
π Chromium Bug: 1161950
π Chromium Bug: 1072847
π 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: 897321
π Chromium Bug: 1350209
π Chromium Bug: 1347244
π Chromium Bug: 976108
Enables Bluetooth Low Energy Scanning
π Chromium Bug: 897312
πSpecification: https://webbluetoothcg.github.io
π²Demos:
π Chromium Bug: 1047087
π Chromium Bug: 933217
π Chromium Bug: 1144920
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
πExplainers:
π Chromium Bug: 1097066