summaryrefslogtreecommitdiff
path: root/tests/specs/run/worker_event_handler_test/worker_event_handlers.js
blob: 5e457cd2e3c4ad858af8019658c06b3a5335a031 (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
self.onmessage = (evt) => {
  console.log("Target from self.onmessage:", String(evt.target));
};

self.addEventListener("message", (evt) => {
  console.log("Target from message event listener:", String(evt.target));

  // Throw an error here so the global's error event will fire.
  throw new Error("Some error message");
});

self.onerror = (...args) => {
  // Take the last 100 characters so the filename doesn't get truncated
  // depending on the dev's FS structure.
  args = args.map((v) => typeof v == "string" ? v.slice(-100) : v);
  console.log("Arguments from self.onerror:", args);
  return true;
};

self.addEventListener("error", (evt) => {
  // Returning true from self.onerror means that subsequent event listeners
  // should see the event as canceled.
  console.log("Is event canceled?:", evt.defaultPrevented);

  self.close();
});