50 lines
1.6 KiB
HTML
50 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<!--
|
|
This test confirms we don't block body referred sub-resources by head-referenced defer and async scripts.
|
|
If this test times out, the two image requests, that unblock the two script requests, never happen, hence
|
|
are unexpectedly blocked.
|
|
-->
|
|
|
|
<head>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
|
|
<script>
|
|
// The two scripts below are expected to load and call scriptLoaded().
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
window.expected_scripts = {
|
|
"defer": true,
|
|
"async": true,
|
|
};
|
|
|
|
function scriptLoaded(script)
|
|
{
|
|
ok(true, 'Script ' + script + ' executed');
|
|
delete window.expected_scripts[script];
|
|
|
|
let expecting = Object.keys(window.expected_scripts).length;
|
|
info("Expecting " + expecting + " more script(s) to execute");
|
|
|
|
if (expecting == 0) {
|
|
SimpleTest.finish();
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<!-- this script is not loaded until file_blocked_script.sjs?unblock&defer request is made,
|
|
when this script is executed, it calls SimpleTest.finish().
|
|
-->
|
|
<script defer src="file_blocked_script.sjs?blocked&defer"></script>
|
|
|
|
<!-- this script is not loaded until file_blocked_script.sjs?unblock&async request is made,
|
|
when this script is executed, it calls SimpleTest.finish().
|
|
-->
|
|
<script async src="file_blocked_script.sjs?blocked&async"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<img src="file_blocked_script.sjs?unblock&defer"/>
|
|
<img src="file_blocked_script.sjs?unblock&async"/>
|
|
</body>
|