[whatwg] Terminate a Worker algorithm
ap at webkit.org
Mon Nov 24 06:39:32 PST 2008
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.
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.
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.
- WBR, Alexey Proskuryakov
More information about the whatwg