- From: Ian Hickson <ian@hixie.ch>
- Date: Tue, 16 Dec 2008 06:43:04 +0000 (UTC)
On Mon, 24 Nov 2008, Alexey Proskuryakov wrote: > > 1) The algorithm assumes that a WorkerGlobalScope exists, and doesn't > specify what happens if it is invoked before WorkerGlobalScope is > created (e.g. if the script is still being loaded, or the scope is being > created, but Worker.terminate() is called from JS). I think that the > right behavior is to re-invoke the algorithm after the scope is created, > because it may be too late to prevent its creation. It can't be invoked before the WorkerGlobalScope is created. The WorkerGlobalScope is created before the constructor returns the Worker object. > 2) Events in WorkerGlobalScope event queue are dropped when terminating a > worker, but messages posted to Worker are not. I think that the expected > behavior is that after calling Worker.terminate(), no messages will be > dispatched to worker's event listeners. Once 'closing' is set to true, the queue discards any additional tasks. > 3) "If there are any events in the queue of events other than the close > event that this algorithm just added, discard them without dispatching > them." - I don't see where the close event is added for terminate > algorithm, and this looks like a copy/paste mistake, because the event > won't be dispatched anyway. Fixed. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 15 December 2008 22:43:04 UTC