3 <title>SharedArrayBuffers cannot be transferred
</title>
4 <link rel=
"help" href=
"https://html.spec.whatwg.org/#structuredclone">
5 <link rel=
"author" title=
"Domenic Denicola" href=
"mailto:d@domenic.me">
6 <script src=
"/resources/testharness.js"></script>
7 <script src=
"/resources/testharnessreport.js"></script>
13 const sab
= new SharedArrayBuffer();
14 assert_throws("DataCloneError", () => window
.postMessage(sab
, "*", [sab
]));
15 assert_throws("DataCloneError", () => window
.postMessage("test", "*", [sab
]));
16 }, "Trying to transfer a SharedArrayBuffer to this window throws");
19 const sab
= new SharedArrayBuffer();
20 const worker
= new Worker("../resources/echo-worker.js");
21 assert_throws("DataCloneError", () => worker
.postMessage(sab
, [sab
]));
22 assert_throws("DataCloneError", () => worker
.postMessage("test", [sab
]));
23 }, "Trying to transfer a SharedArrayBuffer to a worker throws");
26 const sab
= new SharedArrayBuffer();
27 const channel
= new MessageChannel();
28 assert_throws("DataCloneError", () => channel
.port1
.postMessage(sab
, [sab
]));
29 assert_throws("DataCloneError", () => channel
.port1
.postMessage("test", [sab
]));
30 }, "Trying to transfer a SharedArrayBuffer through a MessagePort throws");