- From: <bugzilla@jessica.w3.org>
- Date: Mon, 09 Jun 2014 06:09:41 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=23369
Ryan Sleevi <sleevi@google.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sleevi@google.com
--- Comment #13 from Ryan Sleevi <sleevi@google.com> ---
Another reason to place this in WebIDL: Currently, when dealing with
Promise-returning specifications, it's ambiguous about how
ArrayBuffer/ArrayBufferView data is handled.
That is, the naive approach - "Return a Promise and continuing executing these
steps asynchronously" (as recommended by
https://github.com/w3ctag/promises-guide ) doesn't quite work, because it
allows the script environment to manipulate the underlying bytes while the
Promise-d operation continues.
Both WebCrypto and WebAudio have had to define how to do this, and in slightly
different ways. WebAudio pursued an (invalid) approach of 'temporarily neuter',
while WebCrypto pursued a path of 'copy'. Other paths discussed in WebCrypto
were 'permanently neuter' (aka, Transferrable) or 'copy on write' (ruled out by
implementors as complexity/performance overhead for the common case of
ArrayBuffers)
It's unclear whether or not WebIDL should have annotations to support this
special-case, or whether all specs should pursue one or the other. I would
expect that, since ArrayBufferViews are seen as valid inputs, a 'copy' approach
is desirable for consistency, but I can see specs needing to annotate
transferrable.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Monday, 9 June 2014 06:09:43 UTC