diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
commit | 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch) | |
tree | a31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /testing/web-platform/tests/css/cssom/getComputedStyle-detached-subtree.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.tar.xz firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.zip |
Adding upstream version 115.8.0esr.upstream/115.8.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/cssom/getComputedStyle-detached-subtree.html')
-rw-r--r-- | testing/web-platform/tests/css/cssom/getComputedStyle-detached-subtree.html | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/cssom/getComputedStyle-detached-subtree.html b/testing/web-platform/tests/css/cssom/getComputedStyle-detached-subtree.html new file mode 100644 index 0000000000..211d512b28 --- /dev/null +++ b/testing/web-platform/tests/css/cssom/getComputedStyle-detached-subtree.html @@ -0,0 +1,49 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSSOM: getComputedStyle returns no style for elements not in the tree</title> +<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle"> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id="host"> + <div id="non-slotted"> + <div id="non-slotted-descendant"></div> + </div> +</div> +<iframe srcdoc="<html></html>" style="display: none"></iframe> +<script> +function testNoComputedStyle(element, description, global) { + test(function() { + assert_true(!!element); + let style = (global ? global : window).getComputedStyle(element); + assert_true(!!style); + // Note that we avoid assert_equals below to get a stable failure message. + assert_true(style.length == 0); + assert_equals(style.color, ""); + }, `getComputedStyle returns no style for ${description}`); +} + +let detached = document.createElement('div'); +testNoComputedStyle(detached, "detached element"); + +testNoComputedStyle(document.querySelector('iframe').contentDocument.documentElement, + "element in non-rendered iframe (display: none)"); + +testNoComputedStyle(document.querySelector('iframe').contentDocument.documentElement, + "element in non-rendered iframe (display: none) from iframe's window", + document.querySelector('iframe').contentWindow); + +host.attachShadow({ mode: "open" }); +testNoComputedStyle(document.getElementById('non-slotted'), + "element outside the flat tree"); + +testNoComputedStyle(document.getElementById('non-slotted-descendant'), + "descendant outside the flat tree"); + +let shadowRoot = detached.attachShadow({ mode: "open" }); +shadowRoot.innerHTML = ` + <div id="detached-shadow-tree-descendant"></div> +`; +testNoComputedStyle(shadowRoot.getElementById('detached-shadow-tree-descendant'), + "shadow tree outside of flattened tree"); +</script> |