Index: third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html |
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cf603abb177dd5db53c6847c52783092e2ddf8c2 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html |
@@ -0,0 +1,76 @@ |
+<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", {"depth": -1}, function(messageObject) { |
+ if (messageObject.hasOwnProperty("error")) |
+ InspectorTest.log("Backend error: " + messageObject.error.message + " (" + messageObject.error.code + ")\n"); |
+ |
+ var iframeOwner = messageObject.result.root.children[0].children[1].children[0].children[0].children[0].children[0]; |
+ if (iframeOwner.contentDocument.children) { |
+ InspectorTest.log("Error IFrame node should not include children: " + JSON.stringify(iframeOwner, null, " ")); |
+ InspectorTest.completeTest(); |
+ } else { |
+ getDocumentPlusIframe(); |
+ } |
+ }); |
+ }; |
+ |
+ function replacePropertyRecursive(object, propertyNameToReplace) |
+ { |
+ for (var propertyName in object) { |
+ if (!object.hasOwnProperty(propertyName)) |
+ continue; |
+ if (propertyName === propertyNameToReplace) { |
+ object[propertyName] = "???"; |
+ } else if (typeof object[propertyName] === "object") { |
+ replacePropertyRecursive(object[propertyName], propertyNameToReplace); |
+ } |
+ } |
+ } |
+ |
+ function getDocumentPlusIframe() |
+ { |
+ InspectorTest.sendCommand("DOM.getDocument", {"depth": -1, "traverseFrames": true}, function(messageObject) { |
+ if (messageObject.hasOwnProperty("error")) |
+ InspectorTest.log("Backend error: " + messageObject.error.message + " (" + messageObject.error.code + ")\n"); |
+ |
+ var iframeOwner = messageObject.result.root.children[0].children[1].children[0].children[0].children[0].children[0]; |
+ |
+ // Replace properties that tend to change every run. |
+ replacePropertyRecursive(messageObject, "frameId"); |
+ replacePropertyRecursive(messageObject, "documentURL"); |
+ replacePropertyRecursive(messageObject, "baseURL"); |
+ |
+ var bodyId = messageObject.result.root.children[0].children[1]; |
+ InspectorTest.log(JSON.stringify(bodyId, 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> |