diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/requestidlecallback/callback-removed-frame.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
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> |