Title: [95654] trunk
Revision
95654
Author
[email protected]
Date
2011-09-21 11:45:56 -0700 (Wed, 21 Sep 2011)

Log Message

<rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
https://bugs.webkit.org/show_bug.cgi?id=68550

Reviewed by Darin Adler.

Source/WebCore: 

Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
floating object set is empty, which can happen if there were no floats on previous lines
(in which case, lastFloat is 0).

LayoutTests: 

* fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow-expected.txt: Added.
* fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (95653 => 95654)


--- trunk/LayoutTests/ChangeLog	2011-09-21 18:38:58 UTC (rev 95653)
+++ trunk/LayoutTests/ChangeLog	2011-09-21 18:45:56 UTC (rev 95654)
@@ -1,3 +1,13 @@
+2011-09-21  Dan Bernstein  <[email protected]>
+
+        <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
+        https://bugs.webkit.org/show_bug.cgi?id=68550
+
+        Reviewed by Darin Adler.
+
+        * fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow-expected.txt: Added.
+        * fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html: Added.
+
 2011-09-21  Dmitry Lomov  <[email protected]>
 
         Fixed bug number in test expectations. 

Added: trunk/LayoutTests/fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow-expected.txt (0 => 95654)


--- trunk/LayoutTests/fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow-expected.txt	2011-09-21 18:45:56 UTC (rev 95654)
@@ -0,0 +1,6 @@
+Test for https://bugs.webkit.org/show_bug.cgi?id=68550 REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow().
+
+The test passes if it does not cause a crash or assertion failure.
+
+Text
+E

Added: trunk/LayoutTests/fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html (0 => 95654)


--- trunk/LayoutTests/fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html	                        (rev 0)
+++ trunk/LayoutTests/fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html	2011-09-21 18:45:56 UTC (rev 95654)
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<p>
+     Test for <i><a href=""
+     REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()</i>.
+</p>
+<p>
+    The test passes if it does not cause a crash or assertion failure.
+</p>
+<script>
+    if (window.layoutTestController)
+        layoutTestController.dumpAsText();
+</script>
+<div style="-webkit-columns: 2; width: 200px; height: 40px; font-family: ahem; -webkit-font-smoothing: none;">
+    <div style="height: 12px;"></div>
+    <div>
+        Text<br>E
+        <div style="width: 6px; height: 6px; float: left; background-color: blue;">
+        </div>
+    </div>
+</div>

Modified: trunk/Source/WebCore/ChangeLog (95653 => 95654)


--- trunk/Source/WebCore/ChangeLog	2011-09-21 18:38:58 UTC (rev 95653)
+++ trunk/Source/WebCore/ChangeLog	2011-09-21 18:45:56 UTC (rev 95654)
@@ -1,3 +1,17 @@
+2011-09-21  Dan Bernstein  <[email protected]>
+
+        <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
+        https://bugs.webkit.org/show_bug.cgi?id=68550
+
+        Reviewed by Darin Adler.
+
+        Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
+        floating object set is empty, which can happen if there were no floats on previous lines
+        (in which case, lastFloat is 0).
+
 2011-09-21  ChangSeok Oh  <[email protected]>
 
         [GTK] Fix build break when enabling webgl on r95593

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (95653 => 95654)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2011-09-21 18:38:58 UTC (rev 95653)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2011-09-21 18:45:56 UTC (rev 95654)
@@ -3290,6 +3290,8 @@
         m_floatingObjects->remove(curr);
         ASSERT(!curr->m_originatingLine);
         delete curr;
+        if (floatingObjectSet.isEmpty())
+            break;
         curr = floatingObjectSet.last();
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to