Title: [183385] trunk
Revision
183385
Author
[email protected]
Date
2015-04-26 22:39:56 -0700 (Sun, 26 Apr 2015)

Log Message

[CSS Grid Layout] LayoutBox::hasDefiniteLogicalHeight() should consider abspos boxes as definite
https://bugs.webkit.org/show_bug.cgi?id=144144

Reviewed by Darin Adler.

Source/WebCore:

Change order in hasDefiniteLogicalHeight() ifs to consider definite
absolutely positioned elements.

Test: fast/css-grid-layout/percent-track-breadths-regarding-container-size.html

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

LayoutTests:

Add new test case to check absolutely positioned elements.

* fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt:
* fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (183384 => 183385)


--- trunk/LayoutTests/ChangeLog	2015-04-27 05:02:38 UTC (rev 183384)
+++ trunk/LayoutTests/ChangeLog	2015-04-27 05:39:56 UTC (rev 183385)
@@ -1,3 +1,15 @@
+2015-04-26  Manuel Rego Casasnovas  <[email protected]>
+
+        [CSS Grid Layout] LayoutBox::hasDefiniteLogicalHeight() should consider abspos boxes as definite
+        https://bugs.webkit.org/show_bug.cgi?id=144144
+
+        Reviewed by Darin Adler.
+
+        Add new test case to check absolutely positioned elements.
+
+        * fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt:
+        * fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
+
 2015-04-26  Ryosuke Niwa  <[email protected]>
 
         Class body ending with a semicolon throws a SyntaxError

Modified: trunk/LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt (183384 => 183385)


--- trunk/LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt	2015-04-27 05:02:38 UTC (rev 183384)
+++ trunk/LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt	2015-04-27 05:39:56 UTC (rev 183385)
@@ -40,3 +40,11 @@
 XXXXX
 XXX
 PASS
+XX
+XXXXX
+XXX
+PASS
+XX
+XXXXX
+XXX
+PASS

Modified: trunk/LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size.html (183384 => 183385)


--- trunk/LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size.html	2015-04-27 05:02:38 UTC (rev 183384)
+++ trunk/LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size.html	2015-04-27 05:39:56 UTC (rev 183385)
@@ -23,6 +23,10 @@
     height: 50%;
 }
 
+.absolutelyPositioned {
+    position: absolute;
+}
+
 .indefiniteSize {
     width: -webkit-fit-content;
     height: auto;
@@ -114,6 +118,22 @@
     </div>
 
     <div class="indefiniteSize">
+        <div class="grid absolutelyPositioned">
+            <div class="firstRowFirstColumn sizedToGridArea" data-expected-width="0" data-expected-height="0">XX</div>
+            <div class="firstRowSecondColumn sizedToGridArea" data-expected-width="0" data-expected-height="0">XXXXX</div>
+            <div class="firstRowThirdColumn sizedToGridArea" data-expected-width="0" data-expected-height="0">XXX</div>
+        </div>
+    </div>
+
+    <div class="unconstrainedContainer">
+        <div class="grid absolutelyPositioned">
+            <div class="firstRowFirstColumn sizedToGridArea" data-expected-width="0" data-expected-height="0">XX</div>
+            <div class="firstRowSecondColumn sizedToGridArea" data-expected-width="0" data-expected-height="0">XXXXX</div>
+            <div class="firstRowThirdColumn sizedToGridArea" data-expected-width="0" data-expected-height="0">XXX</div>
+        </div>
+    </div>
+
+    <div class="indefiniteSize">
         <div class="grid indefiniteSize">
             <div class="firstRowFirstColumn sizedToGridArea" data-expected-width="20" data-expected-height="10">XX</div>
             <div class="firstRowSecondColumn sizedToGridArea" data-expected-width="50" data-expected-height="10">XXXXX</div>

Modified: trunk/Source/WebCore/ChangeLog (183384 => 183385)


--- trunk/Source/WebCore/ChangeLog	2015-04-27 05:02:38 UTC (rev 183384)
+++ trunk/Source/WebCore/ChangeLog	2015-04-27 05:39:56 UTC (rev 183385)
@@ -1,3 +1,18 @@
+2015-04-26  Manuel Rego Casasnovas  <[email protected]>
+
+        [CSS Grid Layout] LayoutBox::hasDefiniteLogicalHeight() should consider abspos boxes as definite
+        https://bugs.webkit.org/show_bug.cgi?id=144144
+
+        Reviewed by Darin Adler.
+
+        Change order in hasDefiniteLogicalHeight() ifs to consider definite
+        absolutely positioned elements.
+
+        Test: fast/css-grid-layout/percent-track-breadths-regarding-container-size.html
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::hasDefiniteLogicalHeight):
+
 2015-04-26  Said Abou-Hallawa  <[email protected]>
 
         SVGFilterBuilder should drive the builtin sourceAlpha from the passed sourceGraphic

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (183384 => 183385)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2015-04-27 05:02:38 UTC (rev 183384)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2015-04-27 05:39:56 UTC (rev 183385)
@@ -4542,8 +4542,6 @@
 bool RenderBox::hasDefiniteLogicalHeight() const
 {
     const Length& logicalHeight = style().logicalHeight();
-    if (logicalHeight.isIntrinsicOrAuto())
-        return false;
     if (logicalHeight.isFixed())
         return true;
     // The size of the containing block of an absolutely positioned element is always definite with respect to that
@@ -4554,6 +4552,8 @@
     if (hasOverrideContainingBlockLogicalHeight())
         return overrideContainingBlockContentLogicalHeight() != -1;
 #endif
+    if (logicalHeight.isIntrinsicOrAuto())
+        return false;
 
     return percentageLogicalHeightIsResolvable(this);
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to