Implement initial version of navigator.sendBeacon (#38301)

Gated behind the feature flag `dom_navigator_sendbeacon_enabled` as the
`keep-alive` fetch parameter is crucial for real-life use cases such as
analytics requests.

Part of #4577
Part of #38302

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This commit is contained in:
Tim van der Lippe 2025-08-02 17:14:07 +02:00 committed by GitHub
parent 181f97879d
commit dbb886fad2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 237 additions and 29 deletions

View file

@ -503,7 +503,7 @@ DOMInterfaces = {
'Navigator': {
'inRealms': ['GetVRDisplays'],
'canGc': ['Languages'],
'canGc': ['Languages', 'SendBeacon'],
},
'Node': {

View file

@ -81,3 +81,9 @@ interface mixin NavigatorConcurrentHardware {
partial interface Navigator {
[SecureContext, SameObject, Pref="dom_async_clipboard_enabled"] readonly attribute Clipboard clipboard;
};
// https://w3c.github.io/beacon/#sendbeacon-method
partial interface Navigator {
[Throws, Pref="dom_navigator_sendbeacon_enabled"]
boolean sendBeacon(USVString url, optional BodyInit? data = null);
};