tor-browser

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

test_threadErrors.html (1570B)


      1 <!--
      2  Any copyright is dedicated to the Public Domain.
      3  http://creativecommons.org/publicdomain/zero/1.0/
      4 -->
      5 <!DOCTYPE HTML>
      6 <html>
      7 <!--
      8 Tests of DOM Worker Threads (Bug 437152)
      9 -->
     10 <head>
     11  <title>Test for DOM Worker Threads (Bug 437152)</title>
     12  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     13  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     14 </head>
     15 <body>
     16 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=437152">DOM Worker Threads Bug 437152</a>
     17 <p id="display"></p>
     18 <div id="content" style="display: none">
     19 
     20 </div>
     21 <pre id="test">
     22 <script class="testbody" type="text/javascript">
     23 
     24  const expectedErrorCount = 4;
     25 
     26  function messageListener(event) {
     27    ok(false, "Unexpected message: " + event.data);
     28    SimpleTest.finish();
     29  };
     30 
     31  var actualErrorCount = 0;
     32  var failedWorkers = [];
     33 
     34  function errorListener(event) {
     35    event.preventDefault();
     36 
     37    if (failedWorkers.includes(event.target)) {
     38      ok(false, "Seen an extra error from this worker");
     39      SimpleTest.finish();
     40      return;
     41    }
     42 
     43    failedWorkers.push(event.target);
     44    actualErrorCount++;
     45 
     46    if (actualErrorCount == expectedErrorCount) {
     47      ok(true, "all errors correctly detected");
     48      SimpleTest.finish();
     49    }
     50  };
     51 
     52  for (var i = 1; i <= expectedErrorCount; i++) {
     53    var worker = new Worker("threadErrors_worker" + i + ".js");
     54    worker.onmessage = messageListener;
     55    worker.onerror = errorListener;
     56    worker.postMessage("Hi");
     57  }
     58 
     59  SimpleTest.waitForExplicitFinish();
     60 
     61 </script>
     62 </pre>
     63 </body>
     64 </html>