tor-browser

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

test_bug684208.html (2300B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=684208
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Bug 684208</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     11  <script type="application/javascript">
     12 
     13  /** Test for Bug 684208 */
     14 
     15  function checkDispatchReturnValue(targetOrUndefined) {
     16    var target = targetOrUndefined ? targetOrUndefined : self;
     17    function createEvent() {
     18      if ("MouseEvent" in this) {
     19        return new MouseEvent("click", {cancelable: true});
     20      }
     21      return new Event("dummy", {cancelable: true});
     22    }
     23 
     24    function postSelfMessage(msg) {
     25      try {
     26        self.postMessage(msg);
     27      } catch(ex) {
     28        self.postMessage(msg, "*");
     29      }
     30    }
     31 
     32    function passiveListener(e) {
     33      e.target.removeEventListener(e.type, passiveListener);
     34    }
     35    var event = createEvent();
     36    target.addEventListener(event.type, passiveListener);
     37    postSelfMessage(target.dispatchEvent(event) == true);
     38 
     39    function cancellingListener(e) {
     40      e.target.removeEventListener(e.type, cancellingListener);
     41      e.preventDefault();
     42    }
     43    event = createEvent();
     44    target.addEventListener(event.type, cancellingListener);
     45    postSelfMessage(target.dispatchEvent(event) == false);
     46  }
     47 
     48  function test() {
     49    var expectedEvents = 6;
     50    function messageHandler(e) {
     51      ok(e.data, "All the dispatchEvent calls should pass.");
     52      --expectedEvents;
     53      if (!expectedEvents) {
     54        window.onmessage = null;
     55        window.worker.onmessage = null;
     56        SimpleTest.finish();
     57      }
     58    }
     59    window.onmessage = messageHandler;
     60    checkDispatchReturnValue();
     61    checkDispatchReturnValue(document.getElementById("link"));
     62    window.worker =
     63      new Worker(URL.createObjectURL(new Blob(["(" + checkDispatchReturnValue.toString() + ")();"])));
     64    window.worker.onmessage = messageHandler;
     65  }
     66 
     67  SimpleTest.waitForExplicitFinish();
     68 
     69  </script>
     70 </head>
     71 <body onload="test();">
     72 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=684208">Mozilla Bug 684208</a>
     73 <p id="display"></p>
     74 <div id="content" style="display: none">
     75 <a id="link" href="#foo">foo</a>
     76 </div>
     77 <pre id="test">
     78 </pre>
     79 </body>
     80 </html>