summaryrefslogtreecommitdiffstats
path: root/dom/xhr/tests/test_sync_xhr_event_handling.html
blob: eaaa1f608a120c5d65e08e6034cbba581f4f0a33 (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
<!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 receivedAllEvents = false;

  var subTab = null;
  function startSlowXHR() {
    setTimeout(() => {
      var xhr = new XMLHttpRequest();
      xhr.open("GET", "slow.sjs", false);
      subTab.triggerKeys();
      xhr.send(null);
      ok(!receivedAllEvents, "Input Event should be blocked during sync XHR");
      window.requestIdleCallback(() => {
        ok(receivedAllEvents, "Input Event should be processed after synx XHR");
        SimpleTest.finish();
      });
    }, 0);
  }

  async function runTest() {
    await SpecialPowers.pushPrefEnv({
      set: [["dom.input_events.canSuspendInBCG.enabled", true]]
    });
    subTab = window.open("file_sync_xhr_event_handling_helper.html");
  }
  runTest();
  </script>
</body>
</html>