diff options
Diffstat (limited to 'dom/webidl/ServiceWorkerGlobalScope.webidl')
-rw-r--r-- | dom/webidl/ServiceWorkerGlobalScope.webidl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/dom/webidl/ServiceWorkerGlobalScope.webidl b/dom/webidl/ServiceWorkerGlobalScope.webidl new file mode 100644 index 0000000000..914fc37c8b --- /dev/null +++ b/dom/webidl/ServiceWorkerGlobalScope.webidl @@ -0,0 +1,49 @@ +/* -*- 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 + * http://w3c.github.io/push-api/ + * https://notifications.spec.whatwg.org/ + * + * You are granted a license to use, reproduce and create derivative works of + * this document. + */ + +[Global=(Worker,ServiceWorker), + Exposed=ServiceWorker] +interface ServiceWorkerGlobalScope : WorkerGlobalScope { + [SameObject, BinaryName="GetClients"] + readonly attribute Clients clients; + [SameObject] readonly attribute ServiceWorkerRegistration registration; + + [Throws, NewObject] + Promise<undefined> skipWaiting(); + + attribute EventHandler oninstall; + attribute EventHandler onactivate; + + attribute EventHandler onfetch; + + // The event.source of these MessageEvents are instances of Client + attribute EventHandler onmessage; + attribute EventHandler onmessageerror; +}; + +// These are from w3c.github.io/push-api/ +partial interface ServiceWorkerGlobalScope { + attribute EventHandler onpush; + attribute EventHandler onpushsubscriptionchange; +}; + +// https://notifications.spec.whatwg.org/ +partial interface ServiceWorkerGlobalScope { + attribute EventHandler onnotificationclick; + attribute EventHandler onnotificationclose; +}; + +// Mixin the WebExtensions API globals (the actual properties are only available to +// extension service workers, locked behind a Func="extensions::ExtensionAPIAllowed" annotation). +ServiceWorkerGlobalScope includes ExtensionGlobalsMixin; |