diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /testing/web-platform/tests/requestidlecallback/callback-removed-frame.html | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/requestidlecallback/callback-removed-frame.html')
-rw-r--r-- | testing/web-platform/tests/requestidlecallback/callback-removed-frame.html | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/web-platform/tests/requestidlecallback/callback-removed-frame.html b/testing/web-platform/tests/requestidlecallback/callback-removed-frame.html new file mode 100644 index 0000000000..ca63f68f8a --- /dev/null +++ b/testing/web-platform/tests/requestidlecallback/callback-removed-frame.html @@ -0,0 +1,30 @@ +<!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> |