Title: [114388] trunk
Revision
114388
Author
apav...@chromium.org
Date
2012-04-17 09:31:01 -0700 (Tue, 17 Apr 2012)

Log Message

Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
https://bugs.webkit.org/show_bug.cgi?id=84154

Source/WebCore:

Check that a node inserted actually has a parent.

Reviewed by Yury Semikhatsky.

Test: inspector/elements/elements-panel-reload-assert.html

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didInsertDOMNode):

LayoutTests:

Reviewed by Yury Semikhatsky.

* inspector/elements/elements-panel-reload-assert-expected.txt: Added.
* inspector/elements/elements-panel-reload-assert.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (114387 => 114388)


--- trunk/LayoutTests/ChangeLog	2012-04-17 16:26:48 UTC (rev 114387)
+++ trunk/LayoutTests/ChangeLog	2012-04-17 16:31:01 UTC (rev 114388)
@@ -1,3 +1,13 @@
+2012-04-17  Alexander Pavlov  <apav...@chromium.org>
+
+        Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
+        https://bugs.webkit.org/show_bug.cgi?id=84154
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/elements/elements-panel-reload-assert-expected.txt: Added.
+        * inspector/elements/elements-panel-reload-assert.html: Added.
+
 2012-04-17  Christophe Dumez  <christophe.du...@intel.com>
 
         [EFL] DRT should support LayoutTestController's dumpFrameLoadCallbacks()

Added: trunk/LayoutTests/inspector/elements/elements-panel-reload-assert-expected.txt (0 => 114388)


--- trunk/LayoutTests/inspector/elements/elements-panel-reload-assert-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/inspector/elements/elements-panel-reload-assert-expected.txt	2012-04-17 16:31:01 UTC (rev 114388)
@@ -0,0 +1,5 @@
+Tests that the inspected page does not crash in a debug build when reloading a page containing shadow DOM with open inspector. Bug 84154.
+
+
+Page reloaded.
+
Property changes on: trunk/LayoutTests/inspector/elements/elements-panel-reload-assert-expected.txt
___________________________________________________________________

Added: svn:eol-style

Added: trunk/LayoutTests/inspector/elements/elements-panel-reload-assert.html (0 => 114388)


--- trunk/LayoutTests/inspector/elements/elements-panel-reload-assert.html	                        (rev 0)
+++ trunk/LayoutTests/inspector/elements/elements-panel-reload-assert.html	2012-04-17 16:31:01 UTC (rev 114388)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<script src=""
+<script src=""
+<script>
+
+function test()
+{
+    InspectorTest.expandElementsTree(step1);
+
+    function step1()
+    {
+        InspectorTest.reloadPage(step2);
+    }
+
+    function step2()
+    {
+        InspectorTest.completeTest();
+    }
+}
+
+</script>
+</head>
+
+<body _onload_="runTest()">
+<p>
+Tests that the inspected page does not crash in a debug build when reloading a page containing shadow DOM with open inspector. <a href="" 84154</a>.
+</p>
+
+<input type="radio">
+
+</body>
+</html>
Property changes on: trunk/LayoutTests/inspector/elements/elements-panel-reload-assert.html
___________________________________________________________________

Added: svn:eol-style

Modified: trunk/Source/WebCore/ChangeLog (114387 => 114388)


--- trunk/Source/WebCore/ChangeLog	2012-04-17 16:26:48 UTC (rev 114387)
+++ trunk/Source/WebCore/ChangeLog	2012-04-17 16:31:01 UTC (rev 114388)
@@ -1,3 +1,17 @@
+2012-04-17  Alexander Pavlov  <apav...@chromium.org>
+
+        Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
+        https://bugs.webkit.org/show_bug.cgi?id=84154
+
+        Check that a node inserted actually has a parent.
+
+        Reviewed by Yury Semikhatsky.
+
+        Test: inspector/elements/elements-panel-reload-assert.html
+
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::didInsertDOMNode):
+
 2012-04-17  Dana Jansens  <dan...@chromium.org>
 
         [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result

Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (114387 => 114388)


--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp	2012-04-17 16:26:48 UTC (rev 114387)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp	2012-04-17 16:31:01 UTC (rev 114388)
@@ -1395,6 +1395,9 @@
     unbind(node, &m_documentNodeToIdMap);
 
     ContainerNode* parent = node->parentNode();
+    if (!parent)
+        return;
+
     int parentId = m_documentNodeToIdMap.get(parent);
     // Return if parent is not mapped yet.
     if (!parentId)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to