- From: Ryan Sleevi <sleevi@google.com>
- Date: Wed, 6 Mar 2013 11:41:56 -0800
- To: Mark Watson <watsonm@netflix.com>
- Cc: "public-webcrypto@w3.org Group" <public-webcrypto@w3.org>
On Wed, Mar 6, 2013 at 11:33 AM, Mark Watson <watsonm@netflix.com> wrote: > Our operations are asynchronous. We pass in ArrayBufferView objects. What is the expected behavior if the application changes the ArrayBufferView before the WebCrypto operation completes ? > > If the expectation is that the operation completes normally on the input data as it was when the call was made, then the UA either needs to make a copy of the data when the call is first made or do some fancy lazy copy-on-write thing to ensure the web crypto operation retains access to the original data. Correct. That is what I was trying to express through the description of pending data, but I recognize this needs work, and have been working on rewriting this. > > Alternatively, we may say that the behavior is undefined if you modify the ArrayBuffer that you pass in. If there is anything I have learned from C/C++, it's that undefined behaviour is the root of all error. > > Are there other async web APIs that accept ArrayBufferView objects that have established a precedent for this ? > > …Mark We can force it to be ArrayBuffer, to make it explicit there's a copy, but the intent of using ABV was to give greater implementation flexibility in optimization, while also allowing easier use for developers.
Received on Wednesday, 6 March 2013 19:42:24 UTC