trisquel-icecat/icecat/testing/web-platform/tests/dom/traversal/TreeWalker-realm.html
2025-10-06 02:35:48 -06:00

40 lines
1.2 KiB
HTML

<!doctype html>
<title>TreeWalker tests</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<body>
<script>
test(t => {
const i = document.createElement("iframe");
i.srcdoc = "<!DOCTYPE html>";
document.body.appendChild(i);
t.add_cleanup(() => i.remove());
const walker = document.createTreeWalker(i.contentDocument,
NodeFilter.SHOW_ELEMENT);
walker.nextNode();
assert_true(walker.currentNode instanceof i.contentWindow.Node);
}, "Node returned by TreeWalker from different realm");
test(t => {
const i = document.createElement("iframe");
i.srcdoc = "<!DOCTYPE html>";
document.body.appendChild(i);
t.add_cleanup(() => i.remove());
let acceptNode_node;
const walker = document.createTreeWalker(
i.contentDocument, NodeFilter.SHOW_ELEMENT,
{
acceptNode(node) {
acceptNode_node = node;
return NodeFilter.FILTER_ACCEPT;
}
});
walker.nextNode();
assert_true(acceptNode_node instanceof i.contentWindow.Node);
assert_true(walker.currentNode instanceof i.contentWindow.Node);
}, "Node returned by TreeWalker from different realm with acceptNode");
</script>
</body>