<!doctype html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async_test((t) => {
let onloadIsCalled = false;
window.addEventListener('load', () => {
onloadIsCalled = true;
}, {once: true});
document.addEventListener('readystatechange', t.step_func(() => {
if (document.readyState !== 'complete') {
return;
}
const xhr = new XMLHttpRequest();
xhr.open('GET', 'resources/pass.txt', false /* async */);
xhr.send();
assert_false(onloadIsCalled);
// The load event eventually arrives.
window.addEventListener('load', t.step_func_done(() => {
}), {once: 'true'});
}));
}, 'sync XHR should not fire window.onload synchronously');
</script>
</body>