tor-browser

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

worker-post-after-close.any.js (756B)


      1 async_test(t => {
      2  function workerCode() {
      3    onmessage = function(e) {
      4      close();
      5      var mc = new MessageChannel();
      6      mc.port1.onmessage = function() {
      7        postMessage("message received!");
      8      }
      9      mc.port2.postMessage(42);
     10      postMessage("done");
     11    }
     12  }
     13 
     14  var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], {type:"application/javascript"});
     15 
     16  var w = new Worker(URL.createObjectURL(workerBlob));
     17  w.postMessage('');
     18  w.onmessage = function(e) {
     19    if (e.data == "done") {
     20      setTimeout(function() {
     21        t.done();
     22      }, 250);
     23    } else {
     24      assert_true(false, "A wrong message has been received!");
     25    }
     26  }
     27 }, 'MessageChannel/MessagePort should not work after a worker self.close()');