diff options
Diffstat (limited to 'devtools/shared/specs/worker.js')
-rw-r--r-- | devtools/shared/specs/worker.js | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/devtools/shared/specs/worker.js b/devtools/shared/specs/worker.js new file mode 100644 index 000000000..568f55ec0 --- /dev/null +++ b/devtools/shared/specs/worker.js @@ -0,0 +1,78 @@ +/* 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/. */ +"use strict"; + +const {Arg, RetVal, generateActorSpec} = require("devtools/shared/protocol"); + +const workerSpec = generateActorSpec({ + typeName: "worker", + + methods: { + attach: { + request: {}, + response: RetVal("json") + }, + detach: { + request: {}, + response: RetVal("json") + }, + connect: { + request: { + options: Arg(0, "json"), + }, + response: RetVal("json") + }, + push: { + request: {}, + response: RetVal("json") + }, + }, +}); + +exports.workerSpec = workerSpec; + +const pushSubscriptionSpec = generateActorSpec({ + typeName: "pushSubscription", +}); + +exports.pushSubscriptionSpec = pushSubscriptionSpec; + +const serviceWorkerRegistrationSpec = generateActorSpec({ + typeName: "serviceWorkerRegistration", + + events: { + "push-subscription-modified": { + type: "push-subscription-modified" + }, + "registration-changed": { + type: "registration-changed" + } + }, + + methods: { + start: { + request: {}, + response: RetVal("json") + }, + unregister: { + request: {}, + response: RetVal("json") + }, + getPushSubscription: { + request: {}, + response: { + subscription: RetVal("nullable:pushSubscription") + } + }, + }, +}); + +exports.serviceWorkerRegistrationSpec = serviceWorkerRegistrationSpec; + +const serviceWorkerSpec = generateActorSpec({ + typeName: "serviceWorker", +}); + +exports.serviceWorkerSpec = serviceWorkerSpec; + |