Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

// 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.");