- From: Ian Hickson <ian@hixie.ch>
- Date: Thu, 2 Jun 2011 18:54:50 +0000 (UTC)
- To: ben turner <bent.mozilla@gmail.com>, Jonas Sicking <jonas@sicking.cc>
- cc: "public-webapps@w3.org" <public-webapps@w3.org>
On Thu, 2 Jun 2011, ben turner wrote:
>
> I interpreted the proposal differently... This is what I envisioned:
>
> var bufferToTransfer = /* make ArrayBuffer */;
> var bufferToCopy = /* make ArrayBuffer */;
> var worker = /* make Worker */;
> var message = { buf1: bufferToTransfer, buf2: bufferToCopy };
> worker.postMessage(message, [bufferToTransfer]);
>
> We'd keep the structure exactly the same, it's just that when we clone
> 'message' we compare each object value to one of the ones passed in the
> transfer array. If the objects match (===) then we'd transfer it rather
> than copy it.
>
> Does that sound like what you were hoping for?
That's fine except for breaking compatibility with the current MessagePort
model, which is a pretty big problem.
On Thu, 2 Jun 2011, Jonas Sicking wrote:
>
> I also don't understand the reason for the requirement to have the type
> participate in some specific inheritance chain. All that seems needed to
> me is to enumerate the types which can be transferred rather than copied
> as obviously transferring normal JS arrays or JS objects is unlikely to
> be possible in todays JS implementations.
The idea here was just to have WebIDL do the type-checking instead of me.
The behaviour is black-box indistinguishable.
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Thursday, 2 June 2011 18:55:15 UTC