Title: [167353] trunk
Revision
167353
Author
hy...@apple.com
Date
2014-04-16 10:36:56 -0700 (Wed, 16 Apr 2014)

Log Message

Make sure to skip the RenderMultiColumnFlowThread when resolving percentage heights inside columns against
containing blocks. The flow thread's auto height should not interfere if a fixed height is specified on
an ancestor.

https://bugs.webkit.org/show_bug.cgi?id=131741

Reviewed by Simon Fraser.


Source/WebCore: 
Added fast/multicol/percent-height.html.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
Add an isInFlowRenderFlowThread check so that we skip those blocks and don't consider them at all
when resolving percentage heights.

LayoutTests: 
* fast/multicol/percent-height-expected.html: Added.
* fast/multicol/percent-height.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (167352 => 167353)


--- trunk/LayoutTests/ChangeLog	2014-04-16 17:24:10 UTC (rev 167352)
+++ trunk/LayoutTests/ChangeLog	2014-04-16 17:36:56 UTC (rev 167353)
@@ -1,3 +1,16 @@
+2014-04-16  David Hyatt  <hy...@apple.com>
+
+        Make sure to skip the RenderMultiColumnFlowThread when resolving percentage heights inside columns against
+        containing blocks. The flow thread's auto height should not interfere if a fixed height is specified on
+        an ancestor.
+
+        https://bugs.webkit.org/show_bug.cgi?id=131741
+
+        Reviewed by Simon Fraser.
+
+        * fast/multicol/percent-height-expected.html: Added.
+        * fast/multicol/percent-height.html: Added.
+
 2014-04-16  Martin Hodovan  <mhodo...@inf.u-szeged.hu>
 
         ASSERTION FAILED: x2 >= x1 in WebCore::RenderObject::drawLineForBoxSide

Added: trunk/LayoutTests/fast/multicol/percent-height-expected.html (0 => 167353)


--- trunk/LayoutTests/fast/multicol/percent-height-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/multicol/percent-height-expected.html	2014-04-16 17:36:56 UTC (rev 167353)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+      <head>
+            <title>Resolving percent height inside multicol</title>
+        </head>
+      <body>
+            <p>There should be a blue square below.</p>
+            <div style="width:99px; height:99px; background:blue;"></div>
+        </body>
+  </html>

Added: trunk/LayoutTests/fast/multicol/percent-height.html (0 => 167353)


--- trunk/LayoutTests/fast/multicol/percent-height.html	                        (rev 0)
+++ trunk/LayoutTests/fast/multicol/percent-height.html	2014-04-16 17:36:56 UTC (rev 167353)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+      <head>
+            <title>Resolving percent height inside multicol</title>
+            <script>
+                  if (window.internals)
+                      internals.settings.setRegionBasedColumnsEnabled(true);
+              </script>
+        </head>
+      <body>
+            <p>There should be a blue square below.</p>
+            <div style="-webkit-columns:3; columns:3; -webkit-column-gap:0; column-gap:0; width:99px; height:99px;">
+                  <div style="height:300%; background:blue;"></div>
+              </div>
+        </body>
+  </html>

Modified: trunk/Source/WebCore/ChangeLog (167352 => 167353)


--- trunk/Source/WebCore/ChangeLog	2014-04-16 17:24:10 UTC (rev 167352)
+++ trunk/Source/WebCore/ChangeLog	2014-04-16 17:36:56 UTC (rev 167353)
@@ -1,3 +1,20 @@
+2014-04-16  David Hyatt  <hy...@apple.com>
+
+        Make sure to skip the RenderMultiColumnFlowThread when resolving percentage heights inside columns against
+        containing blocks. The flow thread's auto height should not interfere if a fixed height is specified on
+        an ancestor.
+
+        https://bugs.webkit.org/show_bug.cgi?id=131741
+
+        Reviewed by Simon Fraser.
+
+        Added fast/multicol/percent-height.html.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
+        Add an isInFlowRenderFlowThread check so that we skip those blocks and don't consider them at all
+        when resolving percentage heights.
+
 2014-04-16  Daewoong Jang  <daewoong.j...@navercorp.com>
 
         [WinCairo][cURL] Build fix for WinCairo build with USE(CURL).

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (167352 => 167353)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2014-04-16 17:24:10 UTC (rev 167352)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2014-04-16 17:36:56 UTC (rev 167353)
@@ -2713,6 +2713,11 @@
 
 bool RenderBox::skipContainingBlockForPercentHeightCalculation(const RenderBox* containingBlock) const
 {
+    // Flow threads for multicol or paged overflow should be skipped. They are invisible to the DOM,
+    // and percent heights of children should be resolved against the multicol or paged container.
+    if (containingBlock->isInFlowRenderFlowThread())
+        return true;
+
     // For quirks mode and anonymous blocks, we skip auto-height containingBlocks when computing percentages.
     // For standards mode, we treat the percentage as auto if it has an auto-height containing block.
     if (!document().inQuirksMode() && !containingBlock->isAnonymousBlock())
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to