W3C home > Mailing lists > Public > whatwg@whatwg.org > November 2008

[whatwg] JSON support for worker postMessage

From: Jonas Sicking <jonas@sicking.cc>
Date: Mon, 17 Nov 2008 20:26:57 -0800
Message-ID: <49224411.2080305@sicking.cc>
Indeed. Though it might make sense to define it in terms of "anything 
parseable as JSON + blobExtension" even though that's probably not what 
will happen internally.

Anyhow, sounds like there is agreement on feature-set which is the 
important thing. How it's defined and implemented matters less to me 
right now :)

/ Jonas

Aaron Boodman wrote:
> Yeah definitely.
> 
> You said: "We'll probably have to create further JSON extensions to
> support that."
> 
> My point is that there is no need to change JSON at all if we ever add
> blobs to the list of supported types. Even if you happen to use JSON
> internally for the implementation now, you could change it to use some
> other serialization format in the future.
> 
> Basically, I don't think that just because you can pass a blob via
> postMessage, that necessarily means you need to be able to serialize a
> blob to JSON. Blobs might be very large, so it might not even make
> sense to allow serializing them to JSON.
> 
> - a
> 
> On Mon, Nov 17, 2008 at 8:18 PM, Jonas Sicking <jonas at sicking.cc> wrote:
>> Well, you'd probably want to support things like
>>
>> w.postMessage({ command: "do cool thing",
>>                data: myBlob });
>>
>> / Jonas
>>
>> Aaron Boodman wrote:
>>> If you support worker.sendMessage(<stuff>), where <stuff> is defined
>>> by convenience to be: whatever you are allowed to send
>>> JSON.stringify(), then you could expand this in the future to also
>>> allow blobs w/o changing anything about JSON.
>>>
>>> - a
>>>
>>> On Mon, Nov 17, 2008 at 8:10 PM, Jonas Sicking <jonas at sicking.cc> wrote:
>>>> Indeed. Blobs is a great idea. We'll probably have to create further JSON
>>>> extensions to support that.
>>>>
>>>> / Jonas
>>>>
>>>> Aaron Boodman wrote:
>>>>> +1, because I think it will be useful to pass other things to workers
>>>>> that JSON cannot represent (blobs) in the future.
>>>>>
>>>>> - a
>>>>>
>>>>> On Mon, Nov 17, 2008 at 8:03 PM, Jonas Sicking <jonas at sicking.cc> wrote:
>>>>>> Hi All,
>>>>>>
>>>>>> Ben just wrote up a patch to support JSON objects as well as primitive
>>>>>> values (0, null, false, etc) to be passed to and from workers using
>>>>>> postMessage.
>>>>>>
>>>>>> Wanted to see what the reactions to this was. Is it a good idea or not?
>>>>>>
>>>>>> I seem to recall this coming up in the past in the original feedback
>>>>>> about
>>>>>> what features people wanted.
>>>>>>
>>>>>> The technical details are as follows:
>>>>>> Any of the following values are passed by value as-is:
>>>>>> * strings
>>>>>> * numbers
>>>>>> * booleans
>>>>>> * undefined
>>>>>> * null
>>>>>>
>>>>>> Anything else is passed to JSON.stringify (defined by Ecmascript drafts
>>>>>> here[1]). If calling JSON.stringify throws the same error will be
>>>>>> thrown
>>>>>> by
>>>>>> the function. Otherwise the message event fired on the other 'side'
>>>>>> will
>>>>>> contain the result of JSON.parse.
>>>>>>
>>>>>> / Jonas
>>>>>>
>>
Received on Monday, 17 November 2008 20:26:57 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:07 UTC