summaryrefslogtreecommitdiffstats
path: root/devtools/client/fronts/worker/service-worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/fronts/worker/service-worker.js')
-rw-r--r--devtools/client/fronts/worker/service-worker.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/devtools/client/fronts/worker/service-worker.js b/devtools/client/fronts/worker/service-worker.js
new file mode 100644
index 0000000000..604eb388e5
--- /dev/null
+++ b/devtools/client/fronts/worker/service-worker.js
@@ -0,0 +1,62 @@
+/* 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 {
+ serviceWorkerSpec,
+} = require("resource://devtools/shared/specs/worker/service-worker.js");
+const {
+ FrontClassWithSpec,
+ registerFront,
+} = require("resource://devtools/shared/protocol.js");
+const { LocalizationHelper } = require("resource://devtools/shared/l10n.js");
+
+const L10N = new LocalizationHelper(
+ "devtools/client/locales/debugger.properties"
+);
+
+class ServiceWorkerFront extends FrontClassWithSpec(serviceWorkerSpec) {
+ get fetch() {
+ return this._form.fetch;
+ }
+
+ get url() {
+ return this._form.url;
+ }
+
+ get state() {
+ return this._form.state;
+ }
+
+ get stateText() {
+ switch (this.state) {
+ case Ci.nsIServiceWorkerInfo.STATE_PARSED:
+ return L10N.getStr("serviceWorkerInfo.parsed");
+ case Ci.nsIServiceWorkerInfo.STATE_INSTALLING:
+ return L10N.getStr("serviceWorkerInfo.installing");
+ case Ci.nsIServiceWorkerInfo.STATE_INSTALLED:
+ return L10N.getStr("serviceWorkerInfo.installed");
+ case Ci.nsIServiceWorkerInfo.STATE_ACTIVATING:
+ return L10N.getStr("serviceWorkerInfo.activating");
+ case Ci.nsIServiceWorkerInfo.STATE_ACTIVATED:
+ return L10N.getStr("serviceWorkerInfo.activated");
+ case Ci.nsIServiceWorkerInfo.STATE_REDUNDANT:
+ return L10N.getStr("serviceWorkerInfo.redundant");
+ default:
+ return L10N.getStr("serviceWorkerInfo.unknown");
+ }
+ }
+
+ get id() {
+ return this._form.id;
+ }
+
+ form(form) {
+ this.actorID = form.actor;
+ this._form = form;
+ }
+}
+
+exports.ServiceWorkerFront = ServiceWorkerFront;
+registerFront(ServiceWorkerFront);