<!DOCTYPE html>
<html><head>
	<title> scheduler: slow-loading script added from defer blocking load event</title>
	<script src="/resources/testharness.js"></script>
	<script src="/resources/testharnessreport.js"></script>
	<script src="testlib/testlib.js"></script>
</head>
<body>

	<div id="log">FAILED (This TC requires JavaScript enabled)</div>

	<script>
          var t = async_test(undefined, {timeout:3500});
          function test() {
            t.step(function() {
                     assert_array_equals(eventOrder, ['external script #8', 'external script #9']);
                     t.done();
                   });
          }
          //assert that the test is completed before onload fires
          onload = t.step_func(function() {assert_unreached()});
        </script>
        <script defer src="scripts/include-8.js"></script>
</body></html>
