36 lines
1015 B
HTML
36 lines
1015 B
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
|
|
description("Test sending shared WebAssembly.Memory via postMessage to a worker.");
|
|
|
|
if (typeof WebAssembly !== 'undefined') {
|
|
jsTestIsAsync = true;
|
|
memory = new WebAssembly.Memory({ initial: 1, maximum: 2, shared: true });
|
|
buffer = memory.buffer;
|
|
view = new Uint8Array(buffer);
|
|
view[0] = 42;
|
|
shouldBe(`view[0]`, `42`);
|
|
worker = new Worker("./resources/webassembly-memory-shared-worker.js");
|
|
worker.onmessage = function(msg) {
|
|
message = msg;
|
|
shouldBe(`message.data`, `"DONE"`);
|
|
shouldBe(`view[0]`, `43`);
|
|
shouldBe(`view[1]`, `42`);
|
|
shouldBe(`view[2]`, `44`);
|
|
shouldBe(`buffer.byteLength`, `65536`);
|
|
shouldBe(`memory.buffer.byteLength`, `131072`);
|
|
finishJSTest();
|
|
};
|
|
worker.postMessage(memory);
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|