in default/cve5/cve.js [240:274]
get worker() {
if (this.registration) {
return Promise.resolve(this.registration.active);
}
let serviceUri = this.serviceUri;
let initWorker = (worker) => {
let init_msg = { type: 'init',
serviceUri };
this.simpleMessage(worker, init_msg);
};
return navigator.serviceWorker.register(this.swPath)
.then(reg => {
this.registration = reg;
if (reg.installing != undefined) {
return new Promise(resolve => {
let worker = reg.installing;
worker.addEventListener('statechange', (e) => {
if (e.target.state == 'activated') {
initWorker(e.target);
resolve(e.target);
}
});
});
} else {
initWorker(reg.active);
return reg.active;
}
});
}