tor-browser

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

test_bug372964-2.html (1730B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=372964
      5 -->
      6 <head>
      7  <title>Test for Bug 372964</title>
      8  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      9  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     10 </head>
     11 <body>
     12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=372964">Mozilla Bug 372964</a>
     13 <p id="display"></p>
     14 <div id="content" style="display: none">
     15  
     16 </div>
     17 <pre id="test">
     18 <script class="testbody" type="text/javascript">
     19 
     20 /** Test for Bug 372964 */
     21 
     22 var eventCount = 0;
     23 
     24 function runTest() {
     25  var ifr = document.getElementsByTagName("iframe")[0];
     26  var xhr = new ifr.contentWindow.XMLHttpRequest();
     27  xhr.addEventListener("foo", ifr.contentWindow.listener);
     28  var event = ifr.contentDocument.createEvent("Events");
     29  event.initEvent("foo", true, true);
     30  xhr.dispatchEvent(event);
     31  is(eventCount, 1, "Should have handled an event");
     32  ifr.contentDocument.open();
     33  ifr.contentDocument.close();
     34  event = ifr.contentDocument.createEvent("Events");
     35  event.initEvent("foo", true, true);
     36  xhr.dispatchEvent(event);
     37  is(eventCount, 2,
     38     "Should have handled the event because open()/close() keep the active document");
     39  ifr.onload = function() {
     40    event = ifr.contentDocument.createEvent("Events");
     41    event.initEvent("foo", true, true);
     42    xhr.dispatchEvent(event);
     43    is(eventCount, 2,
     44      "Shouldn't have handled an event because the context has changed");
     45    SimpleTest.finish();
     46  };
     47  ifr.contentWindow.location = "about:blank";
     48 }
     49 
     50 SimpleTest.waitForExplicitFinish();
     51 addLoadEvent(runTest);
     52 
     53 </script>
     54 </pre>
     55 <iframe srcdoc="<script>function listener() { ++parent.eventCount; } </script>"></iframe>
     56 </body>
     57 </html>