- From: Jake Archibald <notifications@github.com>
- Date: Thu, 17 Nov 2016 05:50:56 -0800
- To: whatwg/dom <dom@noreply.github.com>
- Message-ID: <whatwg/dom/issues/371/261251184@github.com>
There are two intents here: * Avoid executing the service worker to fire an event that isn't being listened to * Prevent the user from creating an event listener that's likely to be lost before it's called Eg ```js self.addEventListener('install', () => { self.addEventListener('activate', () => { console.log('hello'); }); }); ``` The above is dangerous, as the listener to "activate" will be lost if the service worker closes between dispatching "install" and "activate". I agree that we shouldn't be doing this for all targets as @bzbarsky says. For instance we want devs to be able to create a worker during a fetch event, and this rule prevents that. For `addEventListener` on `ServiceWorkerGlobalScope` I'm struggling to see why throwing isn't the correct thing to do. Sure, it prevents you from lazy-adding a custom listener for manually-dispatched custom events you *know* will run before service worker termination, but the answer there is just to add the listener in the initial execution right? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/whatwg/dom/issues/371#issuecomment-261251184
Received on Thursday, 17 November 2016 13:51:34 UTC