- From: Glenn Maynard <glenn@zewt.org>
- Date: Fri, 3 Jun 2011 12:46:27 -0400
- To: Dmitry Lomov <dslomov@google.com>
- Cc: Jonas Sicking <jonas@sicking.cc>, David Levin <levin@chromium.org>, Kenneth Russell <kbr@google.com>, ben turner <bent.mozilla@gmail.com>, "public-webapps@w3.org" <public-webapps@w3.org>
On Fri, Jun 3, 2011 at 11:12 AM, Dmitry Lomov <dslomov@google.com> wrote:
> a) Recursive transfer lists. Allow arbitrary objects, not only ArrayBuffers,
> to appear in transfer lists. ArrayBuffers that are under objects in
> transfer lists are transferred, others are cloned.
This again causes the same forwards-compatibility problem. If you do this:
frame = { video: canvasPixelArrayInstance, histogram: arrayBuffer } }
postMessage({ frame: frame }, { transfer: frame });
and you expect only histogram to be transferred (since that's all that
supports it when you write this code), your code breaks when
CanvasPixelArray later supports it.
> b) Transfer lists + separate transferMessage method. We still equip
> postMessage with transfer lists, these transfer lists list ArrayBuffers, and
> we provide a separate method transferMessage with recursive transfer
> semantics.
> What do people think?
Same problem.
If you want a quicker way to transfer all messages of given types, see
my previous mail: { transfer: ArrayBuffer }.
--
Glenn Maynard
Received on Friday, 3 June 2011 16:46:54 UTC