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

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: Per IM conversation, let DOM.getDocument optionally return the sub tree as well. 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..31a56fe5cb458ac5e7dd84f5550eab132558f4ad
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html
@@ -0,0 +1,67 @@
+<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 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];
+
+ // FrameIds change every time, so replace them.
+ iframeOwner.frameId = "???";
+ iframeOwner.contentDocument.children[0].frameId = "???";
+
+ // The contentDocument's documentURL & baseURL are absolute paths.
+ iframeOwner.contentDocument.documentURL = "???";
+ iframeOwner.contentDocument.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