| Index: LayoutTests/inspector/elements/elements-panel-selection-on-refresh.html
|
| diff --git a/LayoutTests/inspector/elements/elements-panel-selection-on-refresh.html b/LayoutTests/inspector/elements/elements-panel-selection-on-refresh.html
|
| index 93f29f5e49593e324aab40dc558cc7ed1c6f408f..93c1b948798c3e62cb7ae67fc62055b9d542deae 100644
|
| --- a/LayoutTests/inspector/elements/elements-panel-selection-on-refresh.html
|
| +++ b/LayoutTests/inspector/elements/elements-panel-selection-on-refresh.html
|
| @@ -6,25 +6,82 @@
|
|
|
| function test()
|
| {
|
| - InspectorTest.selectNodeWithId("test-topic", step1);
|
|
|
| - function step1()
|
| + InspectorTest.runTestSuite([
|
| + function setup(next)
|
| + {
|
| + WebInspector.settings.showUAShadowDOM.set(true);
|
| + InspectorTest.expandElementsTree(next);
|
| + },
|
| +
|
| + function testOrdinaryElement(next)
|
| + {
|
| + selectReloadAndDump(next, InspectorTest.expandedNodeWithId("test-topic"));
|
| + },
|
| +
|
| + function testAuthorShadowRoot(next)
|
| + {
|
| + InspectorTest.findNode(isAuthorShadowRoot, selectReloadAndDump.bind(null, next));
|
| + },
|
| +
|
| + function testUserAgentShadowRoot(next)
|
| + {
|
| + InspectorTest.findNode(isUserAgentShadowRoot, selectReloadAndDump.bind(null, next));
|
| + },
|
| +
|
| + function testAuthorShadowRootChild(next)
|
| + {
|
| + InspectorTest.findNode(isAuthorShadowRootChild, selectReloadAndDump.bind(null, next));
|
| + },
|
| +
|
| + function testUserAgentShadowRootChild(next)
|
| + {
|
| + InspectorTest.findNode(isUserAgentShadowRootChild, selectReloadAndDump.bind(null, next));
|
| + }
|
| + ]);
|
| +
|
| + function isAuthorShadowRoot(node)
|
| {
|
| - InspectorTest.reloadPage(step2);
|
| + return node && node.shadowRootType() === WebInspector.DOMNode.ShadowRootTypes.Author;
|
| }
|
| -
|
| - function step2()
|
| +
|
| + function isUserAgentShadowRoot(node)
|
| + {
|
| + return node && node.shadowRootType() === WebInspector.DOMNode.ShadowRootTypes.UserAgent;
|
| + }
|
| +
|
| + function isAuthorShadowRootChild(node)
|
| {
|
| - InspectorTest.runAfterPendingDispatches(step3);
|
| + return isAuthorShadowRoot(node.parentNode);
|
| }
|
|
|
| - function step3()
|
| + function isUserAgentShadowRootChild(node)
|
| {
|
| - // We should have "test-topic" element selected after refresh.
|
| - var selectedElement = WebInspector.panels.elements.treeOutline.selectedTreeElement;
|
| - var nodeName = selectedElement ? selectedElement.representedObject.nodeName() : "null";
|
| - InspectorTest.addResult("Selected element should be 'P', was: '" + nodeName + "'");
|
| - InspectorTest.completeTest();
|
| + return isUserAgentShadowRoot(node.parentNode);
|
| + }
|
| +
|
| + function selectReloadAndDump(next, node)
|
| + {
|
| + InspectorTest.selectNode(node);
|
| + InspectorTest.reloadPage(step1);
|
| +
|
| + function step1()
|
| + {
|
| + InspectorTest.runAfterPendingDispatches(step2);
|
| + }
|
| +
|
| + function step2()
|
| + {
|
| + dumpSelectedNode();
|
| + next();
|
| + }
|
| +
|
| + function dumpSelectedNode()
|
| + {
|
| + var selectedElement = WebInspector.panels.elements.treeOutline.selectedTreeElement;
|
| + var nodeName = selectedElement ? selectedElement.representedObject.nodeNameInCorrectCase() : "null";
|
| + InspectorTest.addResult("Selected node: '" + nodeName + "'");
|
| + }
|
| }
|
| }
|
|
|
| @@ -35,6 +92,10 @@ function test()
|
| <p id="test-topic">
|
| Tests that elements panel preserves selected node on page refresh.
|
| </p>
|
| -
|
| +<span id="hostElement"></span>
|
| +<script>
|
| +var root = document.getElementById("hostElement").createShadowRoot();
|
| +root.innerHTML = "<input type='text'>";
|
| +</script>
|
| </body>
|
| </html>
|
|
|