Title: [100065] trunk
Revision
100065
Author
[email protected]
Date
2011-11-11 20:23:59 -0800 (Fri, 11 Nov 2011)

Log Message

Source/WebCore: Fix a crash when an anonymous render block is in a continuation.
https://bugs.webkit.org/show_bug.cgi?id=70994

Reviewed by Chris Fleizach.

Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderParentObject):

LayoutTests: Add test to ensure that an anonymous render block in a continuation doesn't crash.
https://bugs.webkit.org/show_bug.cgi?id=70994

Reviewed by Chris Fleizach.

* accessibility/anonymous-render-block-in-continuation-causes-crash.html: Added.
* accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (100064 => 100065)


--- trunk/LayoutTests/ChangeLog	2011-11-12 03:37:39 UTC (rev 100064)
+++ trunk/LayoutTests/ChangeLog	2011-11-12 04:23:59 UTC (rev 100065)
@@ -1,3 +1,13 @@
+2011-11-11  Dominic Mazzoni  <[email protected]>
+
+        Add test to ensure that an anonymous render block in a continuation doesn't crash.
+        https://bugs.webkit.org/show_bug.cgi?id=70994
+
+        Reviewed by Chris Fleizach.
+
+        * accessibility/anonymous-render-block-in-continuation-causes-crash.html: Added.
+        * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: Added.
+
 2011-11-11  Anna Cavender  <[email protected]>
 
         Storage and retrieval of TextTrackCues during video playback, including

Added: trunk/LayoutTests/accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt (0 => 100065)


--- trunk/LayoutTests/accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt	2011-11-12 04:23:59 UTC (rev 100065)
@@ -0,0 +1,12 @@
+x
+y
+z
+End of test.
+This tests that having an anonymous render block in a continuation doesn't cause a crash when walking the accessibility tree.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/anonymous-render-block-in-continuation-causes-crash.html (0 => 100065)


--- trunk/LayoutTests/accessibility/anonymous-render-block-in-continuation-causes-crash.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/anonymous-render-block-in-continuation-causes-crash.html	2011-11-12 04:23:59 UTC (rev 100065)
@@ -0,0 +1,43 @@
+<html>
+<head>
+<link rel="stylesheet" href=""
+<script src=""
+<script>
+    if (window.layoutTestController)
+        layoutTestController.waitUntilDone();
+
+    function walkAccessibilityTree(accessibilityObject) {
+        var count = accessibilityObject.childrenCount;
+        for (var i = 0; i < count; ++i)
+            walkAccessibilityTree(accessibilityObject.childAtIndex(i));
+    }
+
+    function runTest() {
+        description("This tests that having an anonymous render block in a continuation doesn't cause a crash when walking the accessibility tree.");
+
+        window.root = accessibilityController.rootElement;
+        walkAccessibilityTree(root);
+
+        debug('<br /><span class="pass">TEST COMPLETE</span>');
+        if (window.layoutTestController)
+            layoutTestController.notifyDone();
+    }
+
+    if (window.layoutTestController && window.accessibilityController) {
+        window.addEventListener('load', function() {
+            setTimeout(runTest, 10);
+        }, false);
+    }
+</script>
+</head>
+<body>
+
+<li><span>x<ul><li>y</ul></span>z</li>
+
+End of test.
+
+<p id="description"></p>
+<div id="console"></div>
+
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (100064 => 100065)


--- trunk/Source/WebCore/ChangeLog	2011-11-12 03:37:39 UTC (rev 100064)
+++ trunk/Source/WebCore/ChangeLog	2011-11-12 04:23:59 UTC (rev 100065)
@@ -1,3 +1,15 @@
+2011-11-11  Dominic Mazzoni  <[email protected]>
+
+        Fix a crash when an anonymous render block is in a continuation.
+        https://bugs.webkit.org/show_bug.cgi?id=70994
+
+        Reviewed by Chris Fleizach.
+
+        Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html
+
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::renderParentObject):
+
 2011-11-11  Anna Cavender  <[email protected]>
 
         Storage and retrieval of TextTrackCues during video playback, including

Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (100064 => 100065)


--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2011-11-12 03:37:39 UTC (rev 100064)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2011-11-12 04:23:59 UTC (rev 100065)
@@ -426,6 +426,8 @@
             if (firstChild == parent->firstChild())
                 break;
             firstChild = parent->firstChild();
+            if (!firstChild->node())
+                break;
             nodeRenderFirstChild = firstChild->node()->renderer();
         }
     }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to