On Fri, Jun 24, 2011 at 4:27 PM, Kenneth Russell <k...@google.com> wrote: > On Fri, Jun 24, 2011 at 3:43 PM, Ian Hickson <i...@hixie.ch> wrote: >> On Fri, 24 Jun 2011, Kenneth Russell wrote: >>> >>> Slightly larger issue. In the typed array spec, views like Float32Array >>> refer to an ArrayBuffer instance. It's desired to be able to transfer >>> multiple views of the same ArrayBuffer in the same postMessage call. >>> Currently, because each Transferable is transferred independently, >>> transferring the first view will cause the view and underlying >>> ArrayBuffer to be neutered, so upon encountering the second view, an >>> exception will be thrown since its ArrayBuffer was already transferred. >> >> The views shouldn't be Transferable. Only the buffer should be. The views >> should continue to have the behaviour you had described before, where they >> recurse to clone their buffer then just clone the view. Since the buffers >> would already be transferred (the transfering happens before the cloning), >> it'll all just work. > > Thanks, I think I see how this is supposed to work now. I'll rewrite > the relevant sections of the typed array spec soon and ping you or > post again if it looks like there are any other issues.
I apologize for how long this took, but the editor's draft of the typed array spec has finally been updated with these changes. I found it a little difficult to specify the desired behavior; please let me know if you see a better or simpler way. https://www.khronos.org/registry/typedarray/specs/latest/ -Ken