diff options
author | frankiebee <frankie.diamond@gmail.com> | 2017-04-03 13:01:44 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2017-04-03 13:01:44 +0800 |
commit | 8d49d519c090d287484008346aba1df6d7ad77e7 (patch) | |
tree | a4064ac0a05429c591e6776bf496c803d1819ae9 /library/sw-controller.js | |
parent | 29a602a89b176e7af3f15297c2f586a4ece0a726 (diff) | |
download | tangerine-wallet-browser-8d49d519c090d287484008346aba1df6d7ad77e7.tar tangerine-wallet-browser-8d49d519c090d287484008346aba1df6d7ad77e7.tar.gz tangerine-wallet-browser-8d49d519c090d287484008346aba1df6d7ad77e7.tar.bz2 tangerine-wallet-browser-8d49d519c090d287484008346aba1df6d7ad77e7.tar.lz tangerine-wallet-browser-8d49d519c090d287484008346aba1df6d7ad77e7.tar.xz tangerine-wallet-browser-8d49d519c090d287484008346aba1df6d7ad77e7.tar.zst tangerine-wallet-browser-8d49d519c090d287484008346aba1df6d7ad77e7.zip |
Rename and move around files
Diffstat (limited to 'library/sw-controller.js')
-rw-r--r-- | library/sw-controller.js | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/library/sw-controller.js b/library/sw-controller.js deleted file mode 100644 index 1a7b1cad3..000000000 --- a/library/sw-controller.js +++ /dev/null @@ -1,64 +0,0 @@ -const EventEmitter = require('events') - -module.exports = class ClientSideServiceWorker extends EventEmitter{ - constructor (opts) { - super() - this.fileName = opts.fileName - this.startDelay = opts.startDelay - - this.serviceWorkerApi = navigator.serviceWorker - this.serviceWorkerApi.onmessage = (messageEvent) => this.emit('message', messageEvent) - this.serviceWorkerApi.onerror = (err) => this.emit('error', err) - this.on('message', (messageEvent) => {debugger}) - if (opts.initStart) this.startWorker() - } - - get controller () { - return this.sw || this.serviceWorkerApi.controller - } - - - startWorker () { - return this.registerWorker() - .then((sw) => { - this.sw = sw - this.sw.onerror = (err) => this.emit('error', err) - this.sw = sw - this.emit('ready', this.sw) - }) - .catch((err) => this.emit('error', err)) - } - - registerWorker () { - return this.serviceWorkerApi.register(this.fileName) - .then((registerdWorker) => { - return new Promise((resolve, reject) => { - let timeOutId = setTimeout(() => { - if (this.serviceWorkerApi.controller) return resolve(this.serviceWorkerApi.controller) - if (registerdWorker.active) return resolve(registerdWorker.active) - return reject(new Error('ClientSideServiceWorker: No controller found and onupdatefound timed out')) - }, this.startDelay || 1000 ) - - registerdWorker.onupdatefound = (event) => { - this.emit('updatefound') - registerdWorker.update() - } - }) - }) - } - - sendMessage (message) { - const self = this - return new Promise((resolve, reject) => { - var messageChannel = new MessageChannel() - messageChannel.port1.onmessage = (event) => { - if (event.data.err) { - reject(event.data.error) - } else { - resolve(event.data.data) - } - } - this.controller.postMessage(message, [messageChannel.port2]) - }) - } -} |