Title: [122502] trunk
- Revision
- 122502
- Author
- jchaffr...@webkit.org
- Date
- 2012-07-12 13:53:58 -0700 (Thu, 12 Jul 2012)
Log Message
ASSERT(genChild->isListMarker() || genChild->style()->styleType() == FIRST_LETTER) triggered on flex-box content
https://bugs.webkit.org/show_bug.cgi?id=91003
Reviewed by Abhishek Arya.
Source/WebCore:
Tests: fast/flexbox/assert-generated-deprecated-flexbox.html
fast/flexbox/assert-generated-new-flexbox.html
The issue was that findBeforeAfterParent didn't return the right parent for the flex-box case. This would
make us update the wrong children (and not propagate the style updates properly).
* rendering/RenderObjectChildList.cpp:
(WebCore::findBeforeAfterParent):
Added a check for flex boxes (both deprecated and new).
LayoutTests:
* fast/flexbox/assert-generated-deprecated-flexbox-expected.txt: Added.
* fast/flexbox/assert-generated-deprecated-flexbox.html: Added.
* fast/flexbox/assert-generated-new-flexbox-expected.txt: Added.
* fast/flexbox/assert-generated-new-flexbox.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (122501 => 122502)
--- trunk/LayoutTests/ChangeLog 2012-07-12 20:48:39 UTC (rev 122501)
+++ trunk/LayoutTests/ChangeLog 2012-07-12 20:53:58 UTC (rev 122502)
@@ -1,3 +1,15 @@
+2012-07-12 Julien Chaffraix <jchaffr...@webkit.org>
+
+ ASSERT(genChild->isListMarker() || genChild->style()->styleType() == FIRST_LETTER) triggered on flex-box content
+ https://bugs.webkit.org/show_bug.cgi?id=91003
+
+ Reviewed by Abhishek Arya.
+
+ * fast/flexbox/assert-generated-deprecated-flexbox-expected.txt: Added.
+ * fast/flexbox/assert-generated-deprecated-flexbox.html: Added.
+ * fast/flexbox/assert-generated-new-flexbox-expected.txt: Added.
+ * fast/flexbox/assert-generated-new-flexbox.html: Added.
+
2012-07-12 Pravin D <pravind....@gmail.com>
Percentage width replaced element in zero percent/fixed width container block incorrectly rendered.
Added: trunk/LayoutTests/fast/flexbox/assert-generated-deprecated-flexbox-expected.txt (0 => 122502)
--- trunk/LayoutTests/fast/flexbox/assert-generated-deprecated-flexbox-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/flexbox/assert-generated-deprecated-flexbox-expected.txt 2012-07-12 20:53:58 UTC (rev 122502)
@@ -0,0 +1,5 @@
+Bug 91003: ASSERT(genChild->isListMarker() || genChild->style()->styleType() == FIRST_LETTER) triggered on flex-box content
+
+This test has passed if it doesn't crash or ASSERT.
+
+
Added: trunk/LayoutTests/fast/flexbox/assert-generated-deprecated-flexbox.html (0 => 122502)
--- trunk/LayoutTests/fast/flexbox/assert-generated-deprecated-flexbox.html (rev 0)
+++ trunk/LayoutTests/fast/flexbox/assert-generated-deprecated-flexbox.html 2012-07-12 20:53:58 UTC (rev 122502)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+ <style>
+ div:after {
+ content: 'Generated content wrapped in a flex-box.';
+ display: -webkit-box;
+ }
+ </style>
+ <script>
+ if (window.testRunner)
+ testRunner.dumpAsText();
+ </script>
+ <p>Bug <a href="" ASSERT(genChild->isListMarker() || genChild->style()->styleType() == FIRST_LETTER) triggered on flex-box content</p>
+ <p>This test has passed if it doesn't crash or ASSERT.</p>
+ <div></div>
+</html>
Added: trunk/LayoutTests/fast/flexbox/assert-generated-new-flexbox-expected.txt (0 => 122502)
--- trunk/LayoutTests/fast/flexbox/assert-generated-new-flexbox-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/flexbox/assert-generated-new-flexbox-expected.txt 2012-07-12 20:53:58 UTC (rev 122502)
@@ -0,0 +1,5 @@
+Bug 91003: ASSERT(genChild->isListMarker() || genChild->style()->styleType() == FIRST_LETTER) triggered on flex-box content
+
+This test has passed if it doesn't crash or ASSERT.
+
+
Added: trunk/LayoutTests/fast/flexbox/assert-generated-new-flexbox.html (0 => 122502)
--- trunk/LayoutTests/fast/flexbox/assert-generated-new-flexbox.html (rev 0)
+++ trunk/LayoutTests/fast/flexbox/assert-generated-new-flexbox.html 2012-07-12 20:53:58 UTC (rev 122502)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+ <style>
+ div:after {
+ content: 'Generated content wrapped in a flex-box.';
+ display: -webkit-flex;
+ }
+ </style>
+ <script>
+ if (window.testRunner)
+ testRunner.dumpAsText();
+ </script>
+ <p>Bug <a href="" ASSERT(genChild->isListMarker() || genChild->style()->styleType() == FIRST_LETTER) triggered on flex-box content</p>
+ <p>This test has passed if it doesn't crash or ASSERT.</p>
+ <div></div>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (122501 => 122502)
--- trunk/Source/WebCore/ChangeLog 2012-07-12 20:48:39 UTC (rev 122501)
+++ trunk/Source/WebCore/ChangeLog 2012-07-12 20:53:58 UTC (rev 122502)
@@ -1,3 +1,20 @@
+2012-07-12 Julien Chaffraix <jchaffr...@webkit.org>
+
+ ASSERT(genChild->isListMarker() || genChild->style()->styleType() == FIRST_LETTER) triggered on flex-box content
+ https://bugs.webkit.org/show_bug.cgi?id=91003
+
+ Reviewed by Abhishek Arya.
+
+ Tests: fast/flexbox/assert-generated-deprecated-flexbox.html
+ fast/flexbox/assert-generated-new-flexbox.html
+
+ The issue was that findBeforeAfterParent didn't return the right parent for the flex-box case. This would
+ make us update the wrong children (and not propagate the style updates properly).
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::findBeforeAfterParent):
+ Added a check for flex boxes (both deprecated and new).
+
2012-07-12 Pravin D <pravind....@gmail.com>
Percentage width replaced element in zero percent/fixed width container block incorrectly rendered.
Modified: trunk/Source/WebCore/rendering/RenderObjectChildList.cpp (122501 => 122502)
--- trunk/Source/WebCore/rendering/RenderObjectChildList.cpp 2012-07-12 20:48:39 UTC (rev 122501)
+++ trunk/Source/WebCore/rendering/RenderObjectChildList.cpp 2012-07-12 20:53:58 UTC (rev 122502)
@@ -289,8 +289,9 @@
static RenderObject* findBeforeAfterParent(RenderObject* object)
{
- // Only table parts need to search for the :before or :after parent
- if (!(object->isTable() || object->isTableSection() || object->isTableRow()))
+ // Only table parts and flex-boxes need to search for the :before or :after parent
+ // FIXME: We could likely get away without this check and always look for the right parent.
+ if (!(object->isTable() || object->isTableSection() || object->isTableRow() || object->isFlexibleBoxIncludingDeprecated()))
return object;
// If there is a :first-letter style applied on the :before or :after content,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes