Thanks for exploring this complex use case. This is an edge case, and I
appreciate you taking the time.
Here's my understanding:
The following sends an entangled port through intents. The client can
then dispatch a Transferable ArrayBuffer.
var channel = new MessageChannel();
var intent = new Intent("http://webintents.org/transfer",
"application/octet-stream+myprotocol", channel.port2);
channel.port1.onmessage = function (event) {
if(event.data == "OK")
channel.port1.postMessage("DATA", [myArrayBuffer], event.origin);
};
window.navigator.startActivity(intent);
This extra work is to ensure the ArrayBuffer is neutered:
http://www.khronos.org/registry/typedarray/specs/latest/#9.2
-Charles
On 11/18/11 1:52 PM, Paul Kinlan wrote:
> The Pseudo code you have is nearly exactly how we envisaged it. We
> just passed the port, then the data over the port as that could be
> part of the lower level protocol (the 'myprotocol' bit).
>
>
> P
>
> On Fri, Nov 18, 2011 at 10:40 PM, Charles Pritchard <chuck@jumis.com
> <mailto:chuck@jumis.com>> wrote:
>
> Carrying this thread over to the web intents mailing list.
>
> The current issue I'm asking about, in this thread, is how we
> might present the postMessage transfer semantic in Web Intents.
>
> Web Intents currently works much like postMessage(message). The
> Transferable semantic is relatively new to Web Messaging
> and allows the transfer of Array Buffer objects and MessagePorts.
>
> In pseudo-code:
>
> var intent = new Intent("http://webintents.org/transfer",
> "application/octet-stream+myprotocol",
> [messagePort, arrayBuffer]);
>