summaryrefslogtreecommitdiffstats
path: root/dom/workers/test/transferable_worker.js
blob: d0fa41cad1c75a0aae1db4711e0863972d91d3b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

onmessage = function (event) {
  if ("notEmpty" in event.data && "byteLength" in event.data.notEmpty) {
    postMessage({
      event: "W: NotEmpty object received: " + event.data.notEmpty.byteLength,
      status: event.data.notEmpty.byteLength != 0,
      last: false,
    });
  }

  var ab = new ArrayBuffer(event.data.size);
  postMessage({
    event: "W: The size is: " + event.data.size + " == " + ab.byteLength,
    status: ab.byteLength == event.data.size,
    last: false,
  });

  postMessage(
    {
      event: "W: postMessage with arrayBuffer",
      status: true,
      notEmpty: ab,
      ab,
      bc: [ab, ab, { dd: ab }],
    },
    [ab]
  );

  postMessage({
    event: "W: The size is: 0 == " + ab.byteLength,
    status: ab.byteLength == 0,
    last: false,
  });

  postMessage({ event: "W: last one!", status: true, last: true });
};