gecko-dev/testing/web-platform/tests/requestidlecallback/callback-removed-frame.html

31 строка
1.1 KiB
HTML

<!doctype html>
<meta charset=utf-8>
<title>requestIdleCallback on removed frame shouldn't call back</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
async_test(function (t) {
assert_false(document.hidden, "document.hidden must exist and be false to run this test properly");
function start() {
var frame = document.createElement('iframe');
frame.addEventListener('load', _ => connect(frame), {once:true});
frame.src = "about:blank";
document.body.appendChild(frame);
}
function connect(frame) {
var contentWindow = frame.contentWindow;
contentWindow.requestIdleCallback(_ => callback0(frame, contentWindow));
t.step_timeout(function() { t.done(); }, 1000);
}
function callback0(f, w) {
document.body.removeChild(f);
w.requestIdleCallback(t.unreached_func("requestIdleCallback callback should not trigger the callback"));
}
addEventListener('load', start, {once:true});
}, "calling requestIdleCallback on a contentWindow from a removed iframe should not trigger the callback");
</script>