blob: f1cb549d0472b97b18e32b847868f3f3ffd5c1ef [file] [edit]
<!DOCTYPE HTML><!-- webkit-test-runner [ jscOptions=--useResizableArrayBuffer=true,--useSharedArrayBuffer=true ] -->
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>
description("Checks that window.postMessage clones growable SharedArrayBuffers");
jsTestIsAsync = true;
var sab = new SharedArrayBuffer(4, { maxByteLength: 1024 });
var memory = new Int32Array(sab);
var otherMemory;
window.addEventListener("message", function (event) {
otherMemory = event.data;
memory[0] = 42;
shouldBe("memory[0]", "42");
shouldBe("otherMemory[0]", "0");
otherMemory[0] = 43;
shouldBe("memory[0]", "42");
shouldBe("otherMemory[0]", "43");
shouldBe("memory.length", "1");
shouldBe("otherMemory.length", "1");
sab.grow(1024);
shouldBe("memory.length", "256");
shouldBe("otherMemory.length", "1");
otherMemory.buffer.resize(1024); // Cloning it as resizable ArrayBuffer.
shouldBe("memory.length", "256");
shouldBe("otherMemory.length", "256");
finishJSTest();
});
window.postMessage(memory, "*");
</script>
</body>
</html>