[css-grid] Percentages of indefinite sizes to be resolved as auto
authorsvillar@igalia.com <svillar@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Oct 2015 13:28:54 +0000 (13:28 +0000)
committersvillar@igalia.com <svillar@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Oct 2015 13:28:54 +0000 (13:28 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149810

Reviewed by Darin Adler.

Specs mention that percentages in grid track sizes must be
resolved as 'auto' if the grid container has an indefinite
size in the corresponding axis.

The 'auto' keyword used to be resolved as
minmax(min-content,max-content) but since r189911 it's
resolved as minmax(auto,auto). Updated the implementation so
we properly resolve those percentages.

No new tests as the behavior does not change at all. That's
because 'auto' as min-track sizing function is the same as
min-content (unless we have a specified value for
min-{width|height}, but those cases were already handled in the
code), and as a max sizing function is works as max-content.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190721 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderGrid.cpp

index d98fcab..a390c6e 100644 (file)
@@ -1,3 +1,28 @@
+2015-10-08  Sergio Villar Senin  <svillar@igalia.com>
+
+        [css-grid] Percentages of indefinite sizes to be resolved as auto
+        https://bugs.webkit.org/show_bug.cgi?id=149810
+
+        Reviewed by Darin Adler.
+
+        Specs mention that percentages in grid track sizes must be
+        resolved as 'auto' if the grid container has an indefinite
+        size in the corresponding axis.
+
+        The 'auto' keyword used to be resolved as
+        minmax(min-content,max-content) but since r189911 it's
+        resolved as minmax(auto,auto). Updated the implementation so
+        we properly resolve those percentages.
+
+        No new tests as the behavior does not change at all. That's
+        because 'auto' as min-track sizing function is the same as
+        min-content (unless we have a specified value for
+        min-{width|height}, but those cases were already handled in the
+        code), and as a max sizing function is works as max-content.
+
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::gridTrackSize):
+
 2015-10-08  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
 
         Automate WebCore JS builtins generation and build system
index 31c0d00..827121b 100644 (file)
@@ -34,7 +34,6 @@
 #include "LayoutRepainter.h"
 #include "RenderLayer.h"
 #include "RenderView.h"
-#include <wtf/NeverDestroyed.h>
 
 namespace WebCore {
 
@@ -577,9 +576,9 @@ GridTrackSize RenderGrid::gridTrackSize(GridTrackSizingDirection direction, unsi
     if (minTrackBreadth.isPercentage() || maxTrackBreadth.isPercentage()) {
         if (!hasDefiniteLogicalSize(direction)) {
             if (minTrackBreadth.isPercentage())
-                minTrackBreadth = Length(MinContent);
+                minTrackBreadth = Length(Auto);
             if (maxTrackBreadth.isPercentage())
-                maxTrackBreadth = Length(MaxContent);
+                maxTrackBreadth = Length(Auto);
         }
     }