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