From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- dom/webidl/ServiceWorkerRegistration.webidl | 54 +++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 dom/webidl/ServiceWorkerRegistration.webidl (limited to 'dom/webidl/ServiceWorkerRegistration.webidl') diff --git a/dom/webidl/ServiceWorkerRegistration.webidl b/dom/webidl/ServiceWorkerRegistration.webidl new file mode 100644 index 0000000000..6acb887cd6 --- /dev/null +++ b/dom/webidl/ServiceWorkerRegistration.webidl @@ -0,0 +1,54 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + * + * The origin of this IDL file is + * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html + * https://w3c.github.io/push-api/ + * https://notifications.spec.whatwg.org/ + */ + +[Func="ServiceWorkerVisible", + Exposed=(Window,Worker)] +interface ServiceWorkerRegistration : EventTarget { + readonly attribute ServiceWorker? installing; + readonly attribute ServiceWorker? waiting; + readonly attribute ServiceWorker? active; + + [Pref="dom.serviceWorkers.navigationPreload.enabled", SameObject] + readonly attribute NavigationPreloadManager navigationPreload; + + readonly attribute USVString scope; + [Throws] + readonly attribute ServiceWorkerUpdateViaCache updateViaCache; + + [Throws, NewObject] + Promise update(); + + [Throws, NewObject] + Promise unregister(); + + // event + attribute EventHandler onupdatefound; +}; + +enum ServiceWorkerUpdateViaCache { + "imports", + "all", + "none" +}; + +// https://w3c.github.io/push-api/ +partial interface ServiceWorkerRegistration { + [Throws, Exposed=(Window,Worker), Pref="dom.push.enabled"] + readonly attribute PushManager pushManager; +}; + +// https://notifications.spec.whatwg.org/ +partial interface ServiceWorkerRegistration { + [NewObject, Func="mozilla::dom::Notification::PrefEnabled"] + Promise showNotification(DOMString title, optional NotificationOptions options = {}); + [NewObject, Func="mozilla::dom::Notification::PrefEnabled"] + Promise> getNotifications(optional GetNotificationOptions filter = {}); +}; -- cgit v1.2.3