- From: Mark Watson <watsonm@netflix.com>
- Date: Wed, 6 Mar 2013 20:02:19 +0000
- To: Ryan Sleevi <sleevi@google.com>
- CC: "public-webcrypto@w3.org Group" <public-webcrypto@w3.org>
On Mar 6, 2013, at 11:41 AM, Ryan Sleevi wrote: > 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. Ok. Are you aware of anywhere else in the web platform where this problem exists and what solution they've chosen ? …Mark >
Received on Wednesday, 6 March 2013 20:02:47 UTC