Index: third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames.html |
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames.html b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f0d25a956d172724f4745432ee5f8d036412d3a9 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames.html |
@@ -0,0 +1,80 @@ |
+<html> |
+<head> |
+<script type="text/javascript" src="../../http/tests/inspector-protocol/inspector-protocol-test.js"></script> |
+<script type="text/javascript"> |
+ |
+function test() |
+{ |
+ getDocument(); |
+ |
+ function getDocument() |
+ { |
+ InspectorTest.sendCommand("DOM.getDocument", {}, function(messageObject) { |
+ if (messageObject.hasOwnProperty("error")) |
+ InspectorTest.log("Backend error: " + messageObject.error.message + " (" + messageObject.error.code + ")\n"); |
+ |
+ var bodyId = messageObject.result.root.children[0].children[1].nodeId; |
+ requestChildNodes(bodyId); |
+ }); |
+ }; |
+ |
+ function requestChildNodes(bodyId) |
+ { |
+ InspectorTest.sendCommand("DOM.requestChildNodes", {"nodeId": bodyId, "depth": -1}, function(messageObject) { |
+ if (messageObject.hasOwnProperty("error")) |
+ InspectorTest.log("Backend error: " + messageObject.error.message + " (" + messageObject.error.code + ")\n"); |
+ }); |
+ |
+ InspectorTest.eventHandler["DOM.setChildNodes"] = function(messageObject) |
+ { |
+ var iframeNode = messageObject.params.nodes[0].children[0].children[0].children[0]; |
+ if (iframeNode.children.length !== 0) { |
+ InspectorTest.log("Error IFrame node should not include children: " + JSON.stringify(iframeNode, null, " ")); |
+ InspectorTest.completeTest(); |
+ } else { |
+ requestAllChildNodesIncludingIframe(bodyId); |
+ } |
+ }; |
+ }; |
+ |
+ function requestAllChildNodesIncludingIframe(bodyId) |
+ { |
+ InspectorTest.sendCommand("DOM.requestChildNodes", {"nodeId": bodyId, "depth": -1, "traverseFrames": true}, function(messageObject) { |
+ if (messageObject.hasOwnProperty("error")) |
+ InspectorTest.log("Backend error: " + messageObject.error.message + " (" + messageObject.error.code + ")\n"); |
+ }); |
+ |
+ InspectorTest.eventHandler["DOM.setChildNodes"] = function(messageObject) |
+ { |
+ // FrameIds change every time, so replace them. |
+ messageObject.params.nodes[0].children[0].children[0].children[0].frameId = "???"; |
+ messageObject.params.nodes[0].children[0].children[0].children[0].children[0].frameId = "???"; |
+ |
+ // The contentDocument's documentURL & baseURL are absolute paths. |
+ messageObject.params.nodes[0].children[0].children[0].children[0].contentDocument.documentURL = "???"; |
+ messageObject.params.nodes[0].children[0].children[0].children[0].contentDocument.baseURL = "???"; |
+ |
+ InspectorTest.log(JSON.stringify(messageObject, null, " ")); |
+ InspectorTest.completeTest(); |
+ }; |
+ }; |
+}; |
+ |
+window.addEventListener("DOMContentLoaded", function () { |
+ runTest(); |
+}, false); |
+ |
+</script> |
+</head> |
+<body> |
+ |
+<div id="depth-1"> |
+ <div id="depth-2"> |
+ <div id="depth-3"> |
+ <iframe src="resources/iframe.html"></iframe> |
+ </div> |
+ </div> |
+</div> |
+ |
+</body> |
+</html> |