Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html

Issue 2373023002: Make DOM.getChildNodes & DOM.getDocument optionally pierce iframe boundaries (Closed)
Patch Set: Nits Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698