tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

service-worker-registration.js (1738B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 "use strict";
      5 
      6 const {
      7  serviceWorkerRegistrationSpec,
      8 } = require("resource://devtools/shared/specs/worker/service-worker-registration.js");
      9 const {
     10  FrontClassWithSpec,
     11  registerFront,
     12  types,
     13 } = require("resource://devtools/shared/protocol.js");
     14 
     15 class ServiceWorkerRegistrationFront extends FrontClassWithSpec(
     16  serviceWorkerRegistrationSpec
     17 ) {
     18  get active() {
     19    return this._form.active;
     20  }
     21 
     22  get fetch() {
     23    return this._form.fetch;
     24  }
     25 
     26  get id() {
     27    return this.url;
     28  }
     29 
     30  get lastUpdateTime() {
     31    return this._form.lastUpdateTime;
     32  }
     33 
     34  get scope() {
     35    return this._form.scope;
     36  }
     37 
     38  get type() {
     39    return this._form.type;
     40  }
     41 
     42  get url() {
     43    return this._form.url;
     44  }
     45 
     46  get origin() {
     47    return this._form.origin;
     48  }
     49 
     50  get evaluatingWorker() {
     51    return this._getServiceWorker("evaluatingWorker");
     52  }
     53 
     54  get activeWorker() {
     55    return this._getServiceWorker("activeWorker");
     56  }
     57 
     58  get installingWorker() {
     59    return this._getServiceWorker("installingWorker");
     60  }
     61 
     62  get waitingWorker() {
     63    return this._getServiceWorker("waitingWorker");
     64  }
     65 
     66  _getServiceWorker(type) {
     67    const workerForm = this._form[type];
     68    if (!workerForm) {
     69      return null;
     70    }
     71    return types.getType("serviceWorker").read(workerForm, this);
     72  }
     73 
     74  form(form) {
     75    this.actorID = form.actor;
     76    this._form = form;
     77    // @backward-compat { version 70 } ServiceWorkerRegistration actor now exposes traits
     78    this.traits = form.traits || {};
     79  }
     80 }
     81 
     82 registerFront(ServiceWorkerRegistrationFront);