| Index: LayoutTests/fast/workers/resources/worker-sharedarraybuffer-transfer.js
|
| diff --git a/LayoutTests/fast/workers/resources/worker-sharedarraybuffer-transfer.js b/LayoutTests/fast/workers/resources/worker-sharedarraybuffer-transfer.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..333c2e46f7b0c5c3b11d356bb211b6e85c98e86b
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/workers/resources/worker-sharedarraybuffer-transfer.js
|
| @@ -0,0 +1,51 @@
|
| +function verifyArray(ta, length) {
|
| + for (i = 0; i < length; ++i) {
|
| + if (ta[i] != i) {
|
| + postMessage("FAIL: Transferred data is incorrect. Expected " +
|
| + i + " got " + ta[i]);
|
| + return;
|
| + }
|
| + }
|
| + postMessage("PASS: Transferred data is OK.");
|
| +}
|
| +
|
| +function verifyArrayType(ta, name) {
|
| + var className = Object.prototype.toString.call(ta);
|
| + if (className.indexOf(name) != -1)
|
| + postMessage("PASS: Transferred array type is OK.");
|
| + else
|
| + postMessage("FAIL: Expected array type " + name + " got " + className);
|
| +}
|
| +
|
| +self.addEventListener('message', function(e) {
|
| + var i;
|
| + var sab;
|
| + var ta;
|
| +
|
| + switch (e.data.name) {
|
| + case 'SharedArrayBuffer':
|
| + sab = e.data.data;
|
| + ta = new Uint8Array(sab);
|
| + verifyArray(ta, e.data.length);
|
| + break;
|
| +
|
| + case 'Int8Array':
|
| + case 'Uint8Array':
|
| + case 'Uint8ClampedArray':
|
| + case 'Int16Array':
|
| + case 'Uint16Array':
|
| + case 'Int32Array':
|
| + case 'Uint32Array':
|
| + case 'Float32Array':
|
| + case 'Float64Array':
|
| + ta = e.data.data;
|
| + verifyArrayType(ta, e.data.name);
|
| + verifyArray(ta, e.data.length);
|
| + break;
|
| +
|
| + default:
|
| + postMessage("ERROR: unknown command " + e.data.name);
|
| + break;
|
| + }
|
| + postMessage("DONE");
|
| +});
|
|
|