Title: [205960] trunk
Revision
205960
Author
svil...@igalia.com
Date
2016-09-15 01:42:10 -0700 (Thu, 15 Sep 2016)

Log Message

[css-grid] Fix intrinsic size computation with flexible sized tracks
https://bugs.webkit.org/show_bug.cgi?id=161903

Reviewed by Manuel Rego Casasnovas.

Source/WebCore:

This is fixing a regression added in r192154. When computing the min content size of a grid
container (min preferred logical width) we should not take into account the fr tracks. As
stated in the early versions of the spec that size is the sum of the tracks' base sizes
before running the maximize tracks step.

That regression was causing sizing issues in grids with fr tracks both when under
min|max-content constrains and also when used as grid items (in nested grids).

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):

LayoutTests:

Added a couple of new test cases, grid with fr tracks inside a container with intrinsic
dimensions and and grid with fr tracks inside another grid with fr tracks.

* fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt:
* fast/css-grid-layout/flex-and-intrinsic-sizes.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (205959 => 205960)


--- trunk/LayoutTests/ChangeLog	2016-09-15 08:11:31 UTC (rev 205959)
+++ trunk/LayoutTests/ChangeLog	2016-09-15 08:42:10 UTC (rev 205960)
@@ -1,3 +1,16 @@
+2016-09-15  Sergio Villar Senin  <svil...@igalia.com>
+
+        [css-grid] Fix intrinsic size computation with flexible sized tracks
+        https://bugs.webkit.org/show_bug.cgi?id=161903
+
+        Reviewed by Manuel Rego Casasnovas.
+
+        Added a couple of new test cases, grid with fr tracks inside a container with intrinsic
+        dimensions and and grid with fr tracks inside another grid with fr tracks.
+
+        * fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt:
+        * fast/css-grid-layout/flex-and-intrinsic-sizes.html:
+
 2016-09-13  Sergio Villar Senin  <svil...@igalia.com>
 
         [css-grid] Too many gaps with trailing collapsing tracks

Modified: trunk/LayoutTests/fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt (205959 => 205960)


--- trunk/LayoutTests/fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt	2016-09-15 08:11:31 UTC (rev 205959)
+++ trunk/LayoutTests/fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt	2016-09-15 08:42:10 UTC (rev 205960)
@@ -3,14 +3,7 @@
 XXX XXX
 PASS
 XXX XXX
-FAIL:
-Expected 30 for width, but got 70. 
-
-<div class="container">
-  <div class="grid min-content" data-expected-width="30" data-expected-height="10">
-    <div>XXX XXX</div>
-  </div>
-</div>
+PASS
 XXX XXX
 PASS
 XXX XXX
@@ -17,3 +10,12 @@
 PASS
 XXX XXX
 PASS
+XXX XXXX XX X XX XXX
+PASS
+XXX XXXX XX X XX XXX
+PASS
+XXXX
+XXXX XX XX
+XXX XX X
+XXXX XXX XXXX XXX XXXX
+PASS

Modified: trunk/LayoutTests/fast/css-grid-layout/flex-and-intrinsic-sizes.html (205959 => 205960)


--- trunk/LayoutTests/fast/css-grid-layout/flex-and-intrinsic-sizes.html	2016-09-15 08:11:31 UTC (rev 205959)
+++ trunk/LayoutTests/fast/css-grid-layout/flex-and-intrinsic-sizes.html	2016-09-15 08:42:10 UTC (rev 205960)
@@ -16,7 +16,6 @@
 }
 
 div { font: 10px/1 Ahem; }
-
 </style>
 
 <script src=""
@@ -31,9 +30,8 @@
   </div>
 </div>
 
-<!-- This fails due to https://bugs.webkit.org/show_bug.cgi?id=150674 -->
 <div class="container">
-  <div class="grid min-content" data-expected-width="30" data-expected-height="10">
+  <div class="grid min-content" data-expected-width="30" data-expected-height="20">
     <div>XXX XXX</div>
   </div>
 </div>
@@ -56,4 +54,28 @@
   </div>
 </div>
 
+<div class="min-content">
+    <div class="grid" data-expected-width="40" data-expected-height="50">
+        <div>XXX XXXX XX X XX XXX</div>
+    </div>
+</div>
+
+<div class="grid container" data-expected-width="100" data-expected-height="100">
+    <div style="display: grid; grid-template-columns: 3fr; grid-template-rows: 2fr;" data-expected-width="100" data-expected-height="100">
+        <div>XXX XXXX XX X XX XXX</div>
+    </div>
+</div>
+
+<div class="grid" style="grid; grid: 1fr 2fr / 2fr 1fr; width: 300px; height: 300px;" data-expected-width="300" data-expected-height="300">
+    <div class="firstRowFirstColumn" style="display: grid; grid: 1fr 3fr / 3fr 1fr;" data-expected-width="200" data-expected-height="100">
+        <div style="border: 2px solid magenta;" data-expected-width="150" data-expected-height="25">XXXX</div>
+        <div class="secondRowSecondColumn" style="border: 2px solid cyan;" data-expected-width="50" data-expected-height="75">XXXX XX XX</div>
+    </div>
+    <div class="secondRowSecondColumn" style="display: grid; grid: 3fr 4fr / 4fr 3fr;" data-expected-width="100" data-expected-height="200">
+        <div style="border: 2px solid lime;" data-expected-width="56" data-expected-height="86">XXX XX X</div>
+        <div class="secondRowSecondColumn" style="border: 2px solid navy;" data-expected-width="44" data-expected-height="114">XXXX XXX XXXX XXX XXXX</div>
+    </div>
+</div>
+
+
 </body>

Modified: trunk/Source/WebCore/ChangeLog (205959 => 205960)


--- trunk/Source/WebCore/ChangeLog	2016-09-15 08:11:31 UTC (rev 205959)
+++ trunk/Source/WebCore/ChangeLog	2016-09-15 08:42:10 UTC (rev 205960)
@@ -1,3 +1,21 @@
+2016-09-15  Sergio Villar Senin  <svil...@igalia.com>
+
+        [css-grid] Fix intrinsic size computation with flexible sized tracks
+        https://bugs.webkit.org/show_bug.cgi?id=161903
+
+        Reviewed by Manuel Rego Casasnovas.
+
+        This is fixing a regression added in r192154. When computing the min content size of a grid
+        container (min preferred logical width) we should not take into account the fr tracks. As
+        stated in the early versions of the spec that size is the sum of the tracks' base sizes
+        before running the maximize tracks step.
+
+        That regression was causing sizing issues in grids with fr tracks both when under
+        min|max-content constrains and also when used as grid items (in nested grids).
+
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
+
 2016-09-13  Sergio Villar Senin  <svil...@igalia.com>
 
         [css-grid] Too many gaps with trailing collapsing tracks

Modified: trunk/Source/WebCore/rendering/RenderGrid.cpp (205959 => 205960)


--- trunk/Source/WebCore/rendering/RenderGrid.cpp	2016-09-15 08:11:31 UTC (rev 205959)
+++ trunk/Source/WebCore/rendering/RenderGrid.cpp	2016-09-15 08:42:10 UTC (rev 205960)
@@ -762,8 +762,6 @@
         if (LayoutUnit increment = baseSize - oldBaseSize) {
             track.setBaseSize(baseSize);
             freeSpace -= increment;
-
-            baseSizesWithoutMaximization += increment;
             growthLimitsWithoutMaximization += increment;
         }
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to