diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /testing/web-platform/mozilla/tests/css/bug1833279-001.html | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-upstream/125.0.1.tar.xz firefox-upstream/125.0.1.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/mozilla/tests/css/bug1833279-001.html')
-rw-r--r-- | testing/web-platform/mozilla/tests/css/bug1833279-001.html | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/testing/web-platform/mozilla/tests/css/bug1833279-001.html b/testing/web-platform/mozilla/tests/css/bug1833279-001.html new file mode 100644 index 0000000000..ecbdf934de --- /dev/null +++ b/testing/web-platform/mozilla/tests/css/bug1833279-001.html @@ -0,0 +1,38 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Test for bug 1833279</title> +<link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1833279"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + setup({ single_test: true }); + + // The following callback-function gets called twice by our iframe inner-doc: + // 1. when the iframe's document finishes printing. + // 2. when the iframe's document finishes loading its own <object> child-document. + // When those two steps have completed, we're past the situation that would + // trigger a fatal assertion when the object document gets cycle-collected. + // So at that point we remove our iframe, and (after a rAF tick) trigger a + // GC and CC, and then consider the test as having passed if we're still + // alive at that point. + const MAX_STEPS = 2; + let stepsComplete = 0; + + function iframeStepComplete() { + stepsComplete++; + if (stepsComplete < MAX_STEPS) { + return; + } + requestAnimationFrame(()=> { + myIframe.remove(); + requestAnimationFrame(()=> { + SpecialPowers.DOMWindowUtils.garbageCollect(); + SpecialPowers.DOMWindowUtils.cycleCollect(); + assert_true(true, "successfully completed without crashing"); + done(); + }); + }); + } +</script> +<iframe id="myIframe" src="resources/bug1833279-iframe.html"></iframe> |