Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'linux' && os_version == '24.04' && arch == 'x86_64' && debug && verify-standalone
- Manifest: dom/base/test/mochitest.toml
<!DOCTYPE HTML>
<html>
<!--
-->
<head>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=372964">Mozilla Bug 372964</a>
<p id="display"></p>
<div id="content" style="display: none">
  
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
var eventCount = 0;
function runTest() {
  var ifr = document.getElementsByTagName("iframe")[0];
  var xhr = new ifr.contentWindow.XMLHttpRequest();
  xhr.addEventListener("foo", ifr.contentWindow.listener);
  var event = ifr.contentDocument.createEvent("Events");
  event.initEvent("foo", true, true);
  xhr.dispatchEvent(event);
  is(eventCount, 1, "Should have handled an event");
  ifr.contentDocument.open();
  ifr.contentDocument.close();
  event = ifr.contentDocument.createEvent("Events");
  event.initEvent("foo", true, true);
  xhr.dispatchEvent(event);
  is(eventCount, 2,
     "Should have handled the event because open()/close() keep the active document");
  ifr.onload = function() {
    event = ifr.contentDocument.createEvent("Events");
    event.initEvent("foo", true, true);
    xhr.dispatchEvent(event);
    is(eventCount, 2,
      "Shouldn't have handled an event because the context has changed");
    SimpleTest.finish();
  };
  ifr.contentWindow.location = "about:blank";
}
SimpleTest.waitForExplicitFinish();
addLoadEvent(runTest);
</script>
</pre>
<iframe srcdoc="<script>function listener() { ++parent.eventCount; } </script>"></iframe>
</body>
</html>