tor-browser

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

test_messageChannel_worker.html (1606B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=677638
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Bug 677638 - basic support</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     11 </head>
     12 <body>
     13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=677638">Mozilla Bug 677638</a>
     14 <p id="display"></p>
     15 <div id="content" style="display: none">
     16  <iframe name="x" id="x"></iframe>
     17  <iframe name="y" id="y"></iframe>
     18 </div>
     19 <pre id="test">
     20 </pre>
     21  <script type="application/javascript">
     22 
     23  var tests = [ 0, 3 ];
     24 
     25  function runTests() {
     26    if (!tests.length) {
     27      SimpleTest.finish();
     28      return;
     29    }
     30 
     31    var a = new Worker('worker_messageChannel.js');
     32    a.onmessage = function(evt) {
     33      if (evt.data.type == 'finish') {
     34        runTests();
     35      } else if (evt.data.type == 'info') {
     36        info(evt.data.message);
     37      } else if (evt.data.type == 'check') {
     38        ok(evt.data.check, evt.data.message);
     39      } else if (evt.data.type == 'port') {
     40        is(evt.ports.length, 1, "A port has been received!");
     41        evt.ports[0].onmessage = function(e) {
     42          e.target.postMessage(e.data);
     43        }
     44      } else if (evt.data.type == 'newport') {
     45        var ch = new MessageChannel();
     46        ok(ch, "MessageChannel created");
     47        ch.port1.postMessage(42);
     48        a.postMessage('a gift!', [ch.port2]);
     49      }
     50    }
     51 
     52    a.postMessage(tests.shift());
     53  }
     54 
     55  SimpleTest.waitForExplicitFinish();
     56  runTests();
     57  </script>
     58 </body>
     59 </html>