diff options
Diffstat (limited to 'testing/web-platform/tests/xhr/sync-xhr-and-window-onload.html')
-rw-r--r-- | testing/web-platform/tests/xhr/sync-xhr-and-window-onload.html | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/testing/web-platform/tests/xhr/sync-xhr-and-window-onload.html b/testing/web-platform/tests/xhr/sync-xhr-and-window-onload.html new file mode 100644 index 0000000000..3ba9e7ab2e --- /dev/null +++ b/testing/web-platform/tests/xhr/sync-xhr-and-window-onload.html @@ -0,0 +1,25 @@ +<!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> |