tor-browser

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

test_bug883784.sys.mjs (1031B)


      1 export var Test = {
      2  start(ok, is, finish) {
      3    let worker = new ChromeWorker("esm_url_worker.js");
      4    worker.onmessage = function (event) {
      5      if (event.data.type == "status") {
      6        ok(event.data.status, event.data.msg);
      7      } else if (event.data.type == "url") {
      8        var xhr = new XMLHttpRequest();
      9        xhr.open("GET", event.data.url, false);
     10        xhr.onreadystatechange = function () {
     11          if (xhr.readyState == 4) {
     12            ok(true, "Blob readable!");
     13            URL.revokeObjectURL(event.data.url);
     14            finish();
     15          }
     16        };
     17        xhr.onerror = function () {
     18          ok(false, "Blob unreadable, should not happen!");
     19          URL.revokeObjectURL(event.data.url);
     20          finish();
     21        };
     22        xhr.send();
     23      }
     24    };
     25 
     26    var self = this;
     27    worker.onerror = function (event) {
     28      is(event.target, worker);
     29      ok(false, "Worker had an error: " + event.data);
     30      self.worker.terminate();
     31      finish();
     32    };
     33 
     34    worker.postMessage(0);
     35  },
     36 };