[whatwg] Web Workers feedback
Simon Pieters
simonp at opera.com
Thu Apr 1 09:04:22 PDT 2010
On Tue, 30 Mar 2010 23:09:49 +0100, Ian Hickson <ian at hixie.ch> wrote:
>> Personally my guess it's more likely that they really wanted to.
>
> I have no idea which is more likely. The only use case I'm aware of is
> passing an <img> in, and for that there isn't really a fallback position,
> so it doesn't matter if we send null or throw an exception.
It does matter because if you send null, the worker has to respond that it
got null so the script can do what it wants on the main thread, which
makes the operation async and means the worker script needs logic for the
non-supported case. It's more convenient to catch an exception and do what
you want directly, and have the worker script only care about the
supported case.
This is actually the exact same problem as what we have now, moving from
string based to structured clone. In order to test structured clone
support, you have to send a message back and forth. I think it would have
been better if non-strings threw an exception from the start, but it's too
late to change it now.
A use case I had with structured clone is posting three ImageData objects
where the worker compares the pixels of two of them and puts the
difference on the third and posts that one back. I do it in a worker
because it's a heavy operation for big images and I needed to keep the
timing correct for events in the main thread. If workers isn't supported,
I did the operation later when the timing of events didn't matter. I
didn't make it detect support for workers but lack of structured clone
because it seemed too annoying to implement.
--
Simon Pieters
Opera Software
More information about the whatwg
mailing list