TreeWalker-realm.html (1262B)
1 <!doctype html> 2 <title>TreeWalker tests</title> 3 <script src=/resources/testharness.js></script> 4 <script src=/resources/testharnessreport.js></script> 5 <body> 6 <script> 7 test(t => { 8 const i = document.createElement("iframe"); 9 i.srcdoc = "<!DOCTYPE html>"; 10 document.body.appendChild(i); 11 t.add_cleanup(() => i.remove()); 12 13 const walker = document.createTreeWalker(i.contentDocument, 14 NodeFilter.SHOW_ELEMENT); 15 walker.nextNode(); 16 assert_true(walker.currentNode instanceof i.contentWindow.Node); 17 }, "Node returned by TreeWalker from different realm"); 18 19 test(t => { 20 const i = document.createElement("iframe"); 21 i.srcdoc = "<!DOCTYPE html>"; 22 document.body.appendChild(i); 23 t.add_cleanup(() => i.remove()); 24 25 let acceptNode_node; 26 const walker = document.createTreeWalker( 27 i.contentDocument, NodeFilter.SHOW_ELEMENT, 28 { 29 acceptNode(node) { 30 acceptNode_node = node; 31 return NodeFilter.FILTER_ACCEPT; 32 } 33 }); 34 35 walker.nextNode(); 36 assert_true(acceptNode_node instanceof i.contentWindow.Node); 37 assert_true(walker.currentNode instanceof i.contentWindow.Node); 38 }, "Node returned by TreeWalker from different realm with acceptNode"); 39 </script> 40 </body>