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