| 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>
|
|
|