summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/accessibility/crashtests/aom-in-destroyed-iframe.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/accessibility/crashtests/aom-in-destroyed-iframe.html
parentInitial commit. (diff)
downloadfirefox-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/accessibility/crashtests/aom-in-destroyed-iframe.html')
-rw-r--r--testing/web-platform/tests/accessibility/crashtests/aom-in-destroyed-iframe.html35
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/web-platform/tests/accessibility/crashtests/aom-in-destroyed-iframe.html b/testing/web-platform/tests/accessibility/crashtests/aom-in-destroyed-iframe.html
new file mode 100644
index 0000000000..c8f0aca12e
--- /dev/null
+++ b/testing/web-platform/tests/accessibility/crashtests/aom-in-destroyed-iframe.html
@@ -0,0 +1,35 @@
+<html class="test-wait">
+<body></body>
+<script>
+
+// Bypass this abandoned syntax in all but the engines that implement it.
+if (typeof getComputedAccessibleNode !== 'undefined') {
+
+ const frameElem = document.createElement('iframe');
+
+ frameElem.srcdoc = '<html><head><title>X</title></head><body><div>-</div></body></html>';
+ frameElem.onload = function() {
+ const frameDoc = frameElem.contentWindow.document;
+
+ const divElem = frameDoc.querySelector('div');
+
+ getComputedAccessibleNode(divElem).then(function(divAccessible) {
+ // Close window.
+ frameElem.remove();
+
+ requestAnimationFrame(() => {
+ // Window removed, but we try to access DOM of non-existent window.
+ const isChecked = divAccessible.checked;
+ // Test is complete.
+ document.documentElement.className = '';
+ });
+ });
+ };
+ document.body.appendChild(frameElem);
+
+} else {
+ // Pass in other engines that have not implemented the abandoned API
+ document.documentElement.className = '';
+}
+</script>
+</html>