fune/testing/web-platform/tests/XMLHttpRequest/xmlhttprequest-sync-block-scripts.html
Boris Zbarsky ee97bc5aed Bug 1267989 part 3. Make suppressing event handling on a document also block script execution for that document. r=smaug
Note that we do this here instead of when we suspend timeouts, because it makes
it simpler to handle situations in which a window's document changes while
things are suspended/blocked.

The nsDocumentViewer.cpp is not strictly needed, but avoids some extraneous
calls to SuppressEventHandling with a 0 suppression count.
2016-05-20 23:13:18 -04:00

22 lines
750 B
HTML

<!doctype html>
<meta charset=utf-8>
<title>Check that while a sync XHR is in flight async script loads don't complete and run script</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<body>
<script>
var scriptRan = false;
var onloadFired = false;
test(function() {
var s = document.createElement("script");
s.src = "data:application/javascript,scriptRan = true;";
s.onload = function() { onloadFired = true; }
document.body.appendChild(s);
var xhr = new XMLHttpRequest();
xhr.open("GET", "data:,", false);
xhr.send();
assert_false(scriptRan, "Script should not have run");
assert_false(onloadFired, "load event for <script> should not have fired");
});
</script>
</body>