Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / inspector / elements / shadow / elements-panel-shadow-selection-on-refresh.html
blob5687267adcf2c00dc5e6cb0b048d0bc79222fcc6
1 <html>
2 <head>
3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/elements-test.js"></script>
5 <script>
7 function test()
10 InspectorTest.runTestSuite([
11 function setup(next)
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));
46 ]);
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);
82 function step0()
84 InspectorTest.reloadPage(step1);
87 function step1()
89 InspectorTest.runAfterPendingDispatches(step2);
92 function step2()
94 dumpSelectedNode();
95 next();
98 function dumpSelectedNode()
100 var selectedElement = InspectorTest.firstElementsTreeOutline().selectedTreeElement;
101 var nodeName = selectedElement ? selectedElement.node().nodeNameInCorrectCase() : "null";
102 InspectorTest.addResult("Selected node: '" + nodeName + "'");
107 </script>
108 </head>
110 <body onload="runTest()">
112 Tests that elements panel preserves selected shadow DOM node on page refresh.
113 </p>
114 <span id="hostElement"></span><span id="closedHostElement"></span>
115 <script>
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>";
120 </script>
121 </body>
122 </html>