Closed Bug 1194892 Opened 9 years ago Closed 9 years ago

[css-grid] "span ... / span ..." should be treated as "auto / auto" for abs.pos. grid items

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox43 --- fixed

People

(Reporter: MatsPalmgren_bugz, Assigned: MatsPalmgren_bugz)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Spec change: http://www.w3.org/TR/2015/WD-css-grid-1-20150806/#abspos "If the placement only contains a grid span, replace it with the two 'auto' lines in that axis." CSSWG minutes: https://lists.w3.org/Archives/Public/www-style/2015May/0280.html
Actually, the whole paragraph is: "If the placement only contains a grid span, replace it with the two auto lines in that axis. (This happens when both grid-placement properties in an axis contributed a span originally, and §9.2.1 Grid Placement Conflict Handling caused the second span to be ignored.)" So what they mean here (I think) is that "span */ span *", which is error corrected by 9.2.1 into "auto/ span *", should instead be treated as "auto/ auto". An explicit "auto / span *" should still be treated as spanning from the start padding edge (called "line 0" in the spec) to some line in the grid.
Summary: [css-grid] "auto / span ..." should be treated as "auto / auto" for abs.pos. grid items → [css-grid] "span ... / span ..." should be treated as "auto / auto" for abs.pos. grid items
Attached patch fix + tests (deleted) — Splinter Review
Assignee: nobody → mats
Attachment #8648377 - Flags: review?(dholbert)
Blocks: 1107783, 1000592
Comment on attachment 8648377 [details] [diff] [review] fix + tests Review of attachment 8648377 [details] [diff] [review]: ----------------------------------------------------------------- r=me, just one nit on the assertion: ::: layout/generic/nsGridContainerFrame.cpp @@ +685,5 @@ > > LineRange r = ResolveLineRange(aStart, aEnd, aLineNameList, aAreaStart, > aAreaEnd, aExplicitGridEnd, aStyle); > + if (r.IsAuto()) { > + MOZ_ASSERT(aStart.mHasSpan && aEnd.mHasSpan); Could you include a message with the assertion here? If this starts failing someday, it'd be helpful to have a human-readable hint for why we currently think it should hold in this particular case. (Note that the asserted condition doesn't hold for 'auto' ResolveLineRange() return values in general - I think we only expect it to hold here because we already handled all of the other cases for which we'd expect it to return an auto-positioned range (?))
Attachment #8648377 - Flags: review?(dholbert) → review+
> Could you include a message with the assertion here? Sure.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: