| self.addEventListener('install', e => e.waitUntil(skipWaiting())); |
| self.addEventListener('activate', e => e.waitUntil(clients.claim())); |
| |
| self.addEventListener('message', async e => { |
| const method = e.data; |
| |
| let promise; |
| if (method === 'setAppBadge') { |
| promise = self.navigator.setAppBadge(1); |
| } else if (method === 'clearAppBadge') { |
| promise = self.navigator.clearAppBadge(); |
| } else { |
| promise = Promise.resolve(); |
| } |
| |
| const error = await promise |
| .then(() => { |
| return `[Badging API ${method}] Unexpectedly started`; |
| }) |
| .catch((e) => e); |
| |
| e.source.postMessage(error); |
| }); |