tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test-worker.js (1160B)


      1 "use strict";
      2 
      3 console.log("initial-message-from-worker", { foo: "bar" }, globalThis);
      4 
      5 self.addEventListener("message", function onMessage(event) {
      6  const { type, message } = event.data;
      7 
      8  // Override Date.prototype.getTime and RegExp.toString to make sure those are not
      9  // called when logging to the console (see Bug 1892638)
     10  const date = new Date(2024, 0, 1);
     11  date.getTime = () => {
     12    return 42;
     13  };
     14  // eslint-disable-next-line no-extend-native
     15  Date.prototype.getTime = date.getTime;
     16  const regexp = /foo/m;
     17  regexp.toString = () => {
     18    return "24";
     19  };
     20 
     21  switch (type) {
     22    case "log":
     23      console.log(message);
     24      break;
     25    case "error":
     26      throw new Error(message);
     27    case "log-objects":
     28      console.log("log-from-worker", message, globalThis);
     29      console.log(Symbol("logged-symbol-from-worker"));
     30      console.log(["array-item", 42, { key: "value" }]);
     31      console.log("sab-from-worker", event.data.sab);
     32 
     33      /* Check if page functions can be called by console previewers */
     34      console.log("date-from-worker", date);
     35      console.log("regexp-from-worker", regexp, /not-overloaded/g);
     36      break;
     37  }
     38 });