Title: [152768] trunk
Revision
152768
Author
[email protected]
Date
2013-07-17 00:20:34 -0700 (Wed, 17 Jul 2013)

Log Message

ASSERTION FAILED: layoutState->m_renderer == this in WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage
https://bugs.webkit.org/show_bug.cgi?id=118587

Patch by Mihai Maerean <[email protected]> on 2013-07-17
Reviewed by David Hyatt.

Source/WebCore:

The fix consists in not calling containingBlockLogicalHeightForPositioned for flow threads (in
RenderBox::availableLogicalHeightUsing) as it gets to handle the RenderView as it would have been flowed into
the flow thread.

Test: fast/regions/crash-div-outside-body-vertical-rl.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::availableLogicalHeightUsing):

LayoutTests:

* fast/regions/crash-div-outside-body-vertical-rl-expected.html: Added.
* fast/regions/crash-div-outside-body-vertical-rl.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (152767 => 152768)


--- trunk/LayoutTests/ChangeLog	2013-07-17 07:19:15 UTC (rev 152767)
+++ trunk/LayoutTests/ChangeLog	2013-07-17 07:20:34 UTC (rev 152768)
@@ -1,3 +1,13 @@
+2013-07-17  Mihai Maerean  <[email protected]>
+
+        ASSERTION FAILED: layoutState->m_renderer == this in WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage
+        https://bugs.webkit.org/show_bug.cgi?id=118587
+
+        Reviewed by David Hyatt.
+
+        * fast/regions/crash-div-outside-body-vertical-rl-expected.html: Added.
+        * fast/regions/crash-div-outside-body-vertical-rl.html: Added.
+
 2013-07-16  Alex Christensen  <[email protected]>
 
         Added passing WebGL tests.

Added: trunk/LayoutTests/fast/regions/crash-div-outside-body-vertical-rl-expected.html (0 => 152768)


--- trunk/LayoutTests/fast/regions/crash-div-outside-body-vertical-rl-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/regions/crash-div-outside-body-vertical-rl-expected.html	2013-07-17 07:20:34 UTC (rev 152768)
@@ -0,0 +1,9 @@
+<!doctype html>
+<html>
+    <head>
+        <title>118587 - ASSERTION FAILED: layoutState-&gt;m_renderer == this in WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage</title>
+    </head>
+
+    <div style="display:none" >FAIL: this should not be visible as it's not flowed anywhere.</div>
+    <body style="-webkit-writing-mode: vertical-rl;">PASS: test for 118587 - passes if it doesn't crash or assert.</body>
+</html>
\ No newline at end of file

Added: trunk/LayoutTests/fast/regions/crash-div-outside-body-vertical-rl.html (0 => 152768)


--- trunk/LayoutTests/fast/regions/crash-div-outside-body-vertical-rl.html	                        (rev 0)
+++ trunk/LayoutTests/fast/regions/crash-div-outside-body-vertical-rl.html	2013-07-17 07:20:34 UTC (rev 152768)
@@ -0,0 +1,9 @@
+<!doctype html>
+<html>
+    <head>
+        <title>118587 - ASSERTION FAILED: layoutState-&gt;m_renderer == this in WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage</title>
+    </head>
+
+    <div style="-webkit-flow-into: flow" >FAIL: this should not be visible as it's not flowed anywhere.</div>
+    <body style="-webkit-writing-mode: vertical-rl;">PASS: test for 118587 - passes if it doesn't crash or assert.</body>
+</html>
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (152767 => 152768)


--- trunk/Source/WebCore/ChangeLog	2013-07-17 07:19:15 UTC (rev 152767)
+++ trunk/Source/WebCore/ChangeLog	2013-07-17 07:20:34 UTC (rev 152768)
@@ -1,3 +1,19 @@
+2013-07-17  Mihai Maerean  <[email protected]>
+
+        ASSERTION FAILED: layoutState->m_renderer == this in WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage
+        https://bugs.webkit.org/show_bug.cgi?id=118587
+
+        Reviewed by David Hyatt.
+
+        The fix consists in not calling containingBlockLogicalHeightForPositioned for flow threads (in
+        RenderBox::availableLogicalHeightUsing) as it gets to handle the RenderView as it would have been flowed into
+        the flow thread.
+
+        Test: fast/regions/crash-div-outside-body-vertical-rl.html
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::availableLogicalHeightUsing):
+
 2013-07-17  Kangil Han  <[email protected]>
 
         Use toHTMLMediaElement

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (152767 => 152768)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2013-07-17 07:19:15 UTC (rev 152767)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2013-07-17 07:20:34 UTC (rev 152768)
@@ -2854,7 +2854,7 @@
         return logicalHeight() - borderAndPaddingLogicalHeight();
     }
 
-    if (h.isPercent() && isOutOfFlowPositioned()) {
+    if (h.isPercent() && isOutOfFlowPositioned() && !isRenderFlowThread()) {
         // FIXME: This is wrong if the containingBlock has a perpendicular writing mode.
         LayoutUnit availableHeight = containingBlockLogicalHeightForPositioned(containingBlock());
         return adjustContentBoxLogicalHeightForBoxSizing(valueForLength(h, availableHeight));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to