3 <script src=
"../../../http/tests/inspector/inspector-test.js"></script>
4 <script src=
"../../../http/tests/inspector/elements-test.js"></script>
10 InspectorTest
.runTestSuite([
13 WebInspector
.settingForTest("showUAShadowDOM").set(true);
14 InspectorTest
.expandElementsTree(next
);
17 function testOpenShadowRoot(next
)
19 InspectorTest
.findNode(isOpenShadowRoot
, selectReloadAndDump
.bind(null, next
));
22 function testClosedShadowRoot(next
)
24 InspectorTest
.findNode(isClosedShadowRoot
, selectReloadAndDump
.bind(null, next
));
27 function testUserAgentShadowRoot(next
)
29 InspectorTest
.findNode(isUserAgentShadowRoot
, selectReloadAndDump
.bind(null, next
));
32 function testOpenShadowRootChild(next
)
34 InspectorTest
.findNode(isOpenShadowRootChild
, selectReloadAndDump
.bind(null, next
));
37 function testClosedShadowRootChild(next
)
39 InspectorTest
.findNode(isClosedShadowRootChild
, selectReloadAndDump
.bind(null, next
));
42 function testUserAgentShadowRootChild(next
)
44 InspectorTest
.findNode(isUserAgentShadowRootChild
, selectReloadAndDump
.bind(null, next
));
48 function isOpenShadowRoot(node
)
50 return node
&& node
.shadowRootType() === WebInspector
.DOMNode
.ShadowRootTypes
.Open
;
53 function isClosedShadowRoot(node
)
55 return node
&& node
.shadowRootType() === WebInspector
.DOMNode
.ShadowRootTypes
.Closed
;
58 function isUserAgentShadowRoot(node
)
60 return node
&& node
.shadowRootType() === WebInspector
.DOMNode
.ShadowRootTypes
.UserAgent
;
63 function isOpenShadowRootChild(node
)
65 return isOpenShadowRoot(node
.parentNode
);
68 function isClosedShadowRootChild(node
)
70 return isClosedShadowRoot(node
.parentNode
);
73 function isUserAgentShadowRootChild(node
)
75 return isUserAgentShadowRoot(node
.parentNode
);
78 function selectReloadAndDump(next
, node
)
80 InspectorTest
.selectNode(node
).then(step0
);
84 InspectorTest
.reloadPage(step1
);
89 InspectorTest
.runAfterPendingDispatches(step2
);
98 function dumpSelectedNode()
100 var selectedElement
= InspectorTest
.firstElementsTreeOutline().selectedTreeElement
;
101 var nodeName
= selectedElement
? selectedElement
.node().nodeNameInCorrectCase() : "null";
102 InspectorTest
.addResult("Selected node: '" + nodeName
+ "'");
110 <body onload=
"runTest()">
112 Tests that elements panel preserves selected shadow DOM node on page refresh.
114 <span id=
"hostElement"></span><span id=
"closedHostElement"></span>
116 var root
= document
.getElementById("hostElement").createShadowRoot();
117 root
.innerHTML
= "<input type='text'>";
118 var closedRoot
= document
.getElementById("closedHostElement").createShadowRoot({mode
: 'closed'});
119 closedRoot
.innerHTML
= "<button></button>";