Diff
Modified: trunk/LayoutTests/ChangeLog (112548 => 112549)
--- trunk/LayoutTests/ChangeLog 2012-03-29 18:14:01 UTC (rev 112548)
+++ trunk/LayoutTests/ChangeLog 2012-03-29 18:17:57 UTC (rev 112549)
@@ -1,3 +1,21 @@
+2012-03-29 Pavel Feldman <[email protected]>
+
+ Web Inspector: subtree disapears from <iframe> after loading
+ https://bugs.webkit.org/show_bug.cgi?id=76552
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/elements/iframe-load-event-expected.txt: Added.
+ * inspector/elements/iframe-load-event.html: Added.
+ * inspector/elements/resources/iframe-load-event-iframe-1.html: Added.
+ * inspector/elements/resources/iframe-load-event-iframe-2.html: Added.
+ * inspector/elements/resources/iframe-load-event-iframe.js: Added.
+ (loadSecondIFrame):
+ (test.step1.nodeInserted):
+ (test.step1):
+ (test.step2):
+ (test):
+
2012-03-29 Joseph Pecoraro <[email protected]>
<http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events
Added: trunk/LayoutTests/inspector/elements/iframe-load-event-expected.txt (0 => 112549)
--- trunk/LayoutTests/inspector/elements/iframe-load-event-expected.txt (rev 0)
+++ trunk/LayoutTests/inspector/elements/iframe-load-event-expected.txt 2012-03-29 18:17:57 UTC (rev 112549)
@@ -0,0 +1,30 @@
+Tests that iframe content is available after iframe's load event fired. See bug 76552.
+
+
+
+
+After frame navigate
+- <html>
+ - <head>
+ <script src=""
+ <script src=""
+ <script src=""
+ </head>
+ - <body>
+ - <p>
+ "Tests that iframe content is available after iframe's load event fired. See "
+ <a href="" 76552</a>
+ "."
+ </p>
+ - <iframe id="myframe" src="" _onload_="runTest()">
+ - #document
+ - <html>
+ <head></head>
+ - <body>
+ <div id="iframe-2-element"></div>
+ </body>
+ </html>
+ </iframe>
+ </body>
+ </html>
+
Property changes on: trunk/LayoutTests/inspector/elements/iframe-load-event-expected.txt
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/inspector/elements/iframe-load-event.html (0 => 112549)
--- trunk/LayoutTests/inspector/elements/iframe-load-event.html (rev 0)
+++ trunk/LayoutTests/inspector/elements/iframe-load-event.html 2012-03-29 18:17:57 UTC (rev 112549)
@@ -0,0 +1,13 @@
+<html>
+<head>
+<script src=""
+<script src=""
+<script src=""
+</head>
+<body>
+<p>
+Tests that iframe content is available after iframe's load event fired. See <a href="" 76552</a>.
+</p>
+<iframe id="myframe" src="" _onload_="runTest()"></iframe>
+</body>
+</html>
Property changes on: trunk/LayoutTests/inspector/elements/iframe-load-event.html
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-1.html (0 => 112549)
--- trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-1.html (rev 0)
+++ trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-1.html 2012-03-29 18:17:57 UTC (rev 112549)
@@ -0,0 +1,5 @@
+<html>
+<body>
+<div id="iframe-1-element"></div>
+</body>
+</html>
Property changes on: trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-1.html
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-2.html (0 => 112549)
--- trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-2.html (rev 0)
+++ trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-2.html 2012-03-29 18:17:57 UTC (rev 112549)
@@ -0,0 +1,5 @@
+<html>
+<body>
+<div id="iframe-2-element"></div>
+</body>
+</html>
Property changes on: trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe-2.html
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe.js (0 => 112549)
--- trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe.js (rev 0)
+++ trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe.js 2012-03-29 18:17:57 UTC (rev 112549)
@@ -0,0 +1,32 @@
+function loadSecondIFrame()
+{
+ document.getElementById("myframe")._onload_ = null;
+ document.getElementById("myframe").src = ""
+}
+
+function test()
+{
+ InspectorTest.expandElementsTree(step1);
+
+ function step1()
+ {
+ WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.NodeInserted, nodeInserted);
+ InspectorTest.evaluateInPage("loadSecondIFrame()");
+
+ function nodeInserted(event)
+ {
+ var node = event.data;
+ if (node.getAttribute("id") === "myframe") {
+ InspectorTest.expandElementsTree(step2);
+ WebInspector.domAgent.removeEventListener(WebInspector.DOMAgent.Events.NodeInserted, nodeInserted);
+ }
+ }
+ }
+
+ function step2()
+ {
+ InspectorTest.addResult("\n\nAfter frame navigate");
+ InspectorTest.dumpElementsTree();
+ InspectorTest.completeTest();
+ }
+}
Property changes on: trunk/LayoutTests/inspector/elements/resources/iframe-load-event-iframe.js
___________________________________________________________________
Added: svn:eol-style
Modified: trunk/Source/WebCore/ChangeLog (112548 => 112549)
--- trunk/Source/WebCore/ChangeLog 2012-03-29 18:14:01 UTC (rev 112548)
+++ trunk/Source/WebCore/ChangeLog 2012-03-29 18:17:57 UTC (rev 112549)
@@ -1,3 +1,19 @@
+2012-03-29 Pavel Feldman <[email protected]>
+
+ Web Inspector: subtree disapears from <iframe> after loading
+ https://bugs.webkit.org/show_bug.cgi?id=76552
+
+ Reviewed by Yury Semikhatsky.
+
+ The problem was that content document subtree was not unbound upon iframe re-push.
+ Upon owner element refresh content document was not sent to the frontend
+ since backend assumed that front-end has already had the up-to-date version.
+
+ Test: inspector/elements/iframe-load-event.html
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::loadEventFired):
+
2012-03-29 Dana Jansens <[email protected]>
[chromium] Remove unneeded code+fixmes from CCOcclusionTracker
Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (112548 => 112549)
--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2012-03-29 18:14:01 UTC (rev 112548)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2012-03-29 18:17:57 UTC (rev 112549)
@@ -1371,20 +1371,15 @@
if (!frameOwnerId)
return;
- if (!m_childrenRequested.contains(frameOwnerId)) {
- // No children are mapped yet -> only notify on changes of hasChildren.
- m_frontend->childNodeCountUpdated(frameOwnerId, innerChildNodeCount(frameOwner));
- } else {
- // Re-add frame owner element together with its new children.
- int parentId = m_documentNodeToIdMap.get(innerParentNode(frameOwner));
- m_frontend->childNodeRemoved(parentId, frameOwnerId);
- RefPtr<TypeBuilder::DOM::Node> value = buildObjectForNode(frameOwner, 0, &m_documentNodeToIdMap);
- Node* previousSibling = innerPreviousSibling(frameOwner);
- int prevId = previousSibling ? m_documentNodeToIdMap.get(previousSibling) : 0;
- m_frontend->childNodeInserted(parentId, prevId, value.release());
- // Invalidate children requested flag for the element.
- m_childrenRequested.remove(m_childrenRequested.find(frameOwnerId));
- }
+ // Re-add frame owner element together with its new children.
+ int parentId = m_documentNodeToIdMap.get(innerParentNode(frameOwner));
+ m_frontend->childNodeRemoved(parentId, frameOwnerId);
+ unbind(frameOwner, &m_documentNodeToIdMap);
+
+ RefPtr<TypeBuilder::DOM::Node> value = buildObjectForNode(frameOwner, 0, &m_documentNodeToIdMap);
+ Node* previousSibling = innerPreviousSibling(frameOwner);
+ int prevId = previousSibling ? m_documentNodeToIdMap.get(previousSibling) : 0;
+ m_frontend->childNodeInserted(parentId, prevId, value.release());
}
void InspectorDOMAgent::didInsertDOMNode(Node* node)