summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mozilla/tests/dom/throttling/throttling-ws.window.js
blob: 185654e04dee2735c0ad2d9ef7e664bdd1d7c482 (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
// META: script=resources/ws.sub.js
// META: script=resources/throttling.js
let server = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;

setup(() => waitForLoad()
  .then(() => "setup done"));

promise_test(t => addWebSocket(t, server)
  .then(() => busy(100))
  .then(() => getThrottlingRate(100))
  .then(rate => {
    assert_less_than(rate, 10, "Timeout was throttled");
  }), "Don't throttle when there are open WebSockets.");

promise_test(t => inFrame(t)
  .then(win => win.addWebSocket(t, server))
  .then(() => busy(100))
  .then(() => getThrottlingRate(100))
  .then(rate => {
    assert_less_than(rate, 10, "Timeout was throttled");
  }), "Don't throttle when there are open WebSockets in iframe.");

promise_test(t => inFrame(t)
  .then(win => addWebSocket(t, server)
    .then(() => win.busy(100))
    .then(() => win.getThrottlingRate(100)))
  .then(rate => {
    assert_less_than(rate, 10, "Timeout was throttled");
  }), "Don't throttle iframe when there are open WebSockets in parent.");

promise_test(t => inFrame(t)
  .then(win => win.addWebSocket(t, server)
                  .then(() => win.busy(100))
                  .then(() => win.getThrottlingRate(100)))
  .then(rate => {
    assert_less_than(rate, 10, "Timeout was throttled");
  }), "Don't throttle iframe when there are open WebSockets in iframe.");