Bug 1885602 - Part 2: Add a MozillaAccountMenuButton composable for the menu redesign...
[gecko.git] / dom / xhr / tests / test_sync_xhr_nested.html
blob450c5f7e5402b31e28aeacaafa7f12a48cdcd1dd
1 <!DOCTYPE HTML>
2 <!-- vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: -->
3 <html>
4 <head>
5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
6 <script src="/tests/SimpleTest/EventUtils.js"></script>
7 <link rel="stylesheet" href="/tests/SimpleTest/test.css">
8 </head>
9 <body >
10 <script type="text/javascript">
11 SimpleTest.waitForExplicitFinish();
13 var childXHRFinished = false;
14 var xhrFinished = false;
15 var subTab = null;
17 function receivedInput() {
18 ok(xhrFinished, "Input event should be handled after the sync xhr");
19 SimpleTest.finish();
22 function startSlowXHR() {
23 var xhr = new XMLHttpRequest();
24 xhr.open("GET", "slow.sjs", false);
25 subTab.startSlowXHR();
26 xhr.send(null);
28 // Above xhr.send(null) should spin up an event loop to process the inner XHR first
29 ok(childXHRFinished, "Child's XHR should be finished first");
30 xhrFinished = true;
33 async function runTest() {
34 await SpecialPowers.pushPrefEnv({
35 set: [["dom.input_events.canSuspendInBCG.enabled", true]]
36 });
37 subTab = window.open("file_sync_xhr_nested_helper.html");
38 await new Promise((r) => {
39 subTab.addEventListener("load", r);
40 });
41 startSlowXHR();
44 runTest();
45 </script>
46 </body>
47 </html>