blob: 662242dcc76035cd0e06ec7347b89b11c66ea66e [file] [log] [blame]
<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, "pierce": 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];
function stabilize(key, value) {
var unstableKeys = ["backendNodeId"];
if (unstableKeys.indexOf(key) !== -1)
return "<" + typeof(value) + ">";
return value;
}
InspectorTest.log(JSON.stringify(bodyId, stabilize, " "));
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/shadow-dom-iframe.html"></iframe>
</div>
</div>
<div id="targetDiv"></div>
</div>
</body>
</html>