Thanks! This worked for me for a toy example (for multiple calls, I’d record
whether an exception was thrown during the first try):
```
try {
// Try new API (clone)
worker.postMessage({sharedBuffer});
} catch (e) {
// Fall back to old API (transfer)
worker.postMessage({sharedBuffer}, [sharedBuffer]);
}
```
Complete source code:
https://github.com/rauschma/shared-array-buffer-demo/blob/master/main.js
Axel
> On 25 Jan 2017, at 15:03, Lars Hansen <[email protected]> wrote:
>
> You're asking about how postMessage() handles a SharedArrayBuffer, since the
> spec changed last summer from requiring the buffer to be in the transfer list
> to forbidding it. For the time being, Firefox allows the SAB to be in the
> transfer list but prints a warning in the console; by and by we will throw an
> error for that (and until then we'll fail any test cases that test for an
> exception). This is implemented in Firefox 51, if my testing right now is
> correct.
>
> Since no browser has officially shipped this functionality I think some
> browser sniffing may be reasonable for early adopters who want to operate in
> a multi-browser setting. I would expect that when this functionality is
> enabled by default in a browser the browser would adhere to the spec.
>
> --lars
>
>
> On Wed, Jan 25, 2017 at 10:49 AM, Axel Rauschmayer <[email protected]
> <mailto:[email protected]>> wrote:
> AFAICT, all current implementations want you to transfer SABs. What’s the
> best way to prepare for the future? `try` transferring and clone in the
> `catch` clause?
>
> Thanks!
>
> Axel
>
> --
> Dr. Axel Rauschmayer
> rauschma.de <http://rauschma.de/>
> [Sent from a mobile device, please forgive brevity and typos]
> _______________________________________________
> es-discuss mailing list
> [email protected] <mailto:[email protected]>
> https://mail.mozilla.org/listinfo/es-discuss
> <https://mail.mozilla.org/listinfo/es-discuss>
>
--
Dr. Axel Rauschmayer
[email protected]
dr-axel.de
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss