This bug is related with the following text on the spec :
"If the inline or block size of the grid container is indefinite,
<percentage> values relative to that size are treated as auto."
The thing is that the inline size is only indefinite while
we're computing the intrinsic sizes of the grid container.
However during layout the inline size is always definite,
so we can resolve the percentage tracks against it.
See a more detailed explanation on the CSS WG mailing list:
And also on the Firefox bugzilla discussion:
This has been already fixed in Blink:
Created attachment 282330 [details]
Comment on attachment 282330 [details]
There are many more gridTrackSize() calls in the code, are you completely sure that all the other ones are only called during the TrackSizing phase?
Created attachment 282892 [details]
(In reply to comment #2)
> Comment on attachment 282330 [details]
> There are many more gridTrackSize() calls in the code, are you completely
> sure that all the other ones are only called during the TrackSizing phase?
Yep you're right, I just make the SizingOperation a mandatory argument for gridTrackSize().
So we're sure we're passing the right one in every call.
Otherwise, it was hard to tell if all of them were called during the TrackSizing phase only.
Comment on attachment 282892 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=282892&action=review
> + This makes Grid Layout compatible with regular blocks regarding
Put everything in the same paragraph.
> + // For the inline axis this only happens when we're computing the intrinsic sizes (AvailableSpaceIndefinite).
Better use IntrinsicSizeComputation which is what we're checking bellow.
> + <!-- The height of the row is wrong calculated in the following 2 examples because of a bug in
Created attachment 283131 [details]
Patch for landing
Thanks for the review. Applied suggested changes.
Comment on attachment 283131 [details]
Patch for landing
Clearing flags on attachment: 283131
Committed r202974: <http://trac.webkit.org/changeset/202974>
All reviewed patches have been landed. Closing bug.