This bug is related with the following text on the spec [1]: "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: https://lists.w3.org/Archives/Public/www-style/2016Jun/0007.html And also on the Firefox bugzilla discussion: https://bugzilla.mozilla.org/show_bug.cgi?id=1264607 This has been already fixed in Blink: https://codereview.chromium.org/2033033002 [1] https://drafts.csswg.org/css-grid/#valdef-grid-template-columns-percentage
Created attachment 282330 [details] Patch
Comment on attachment 282330 [details] Patch 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] Patch
(In reply to comment #2) > Comment on attachment 282330 [details] > Patch > > 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] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=282892&action=review > Source/WebCore/ChangeLog:12 > + This makes Grid Layout compatible with regular blocks regarding Put everything in the same paragraph. > Source/WebCore/rendering/RenderGrid.cpp:763 > + // 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. > LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:122 > + <!-- The height of the row is wrong calculated in the following 2 examples because of a bug in FIXME needed?
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.