Automatic update from web-platform-tests
[Gap decorations]: Preserve grid rule pattern across fragmentation
Per CSSWG resolution [1], a row gap that gets suppressed at a
fragmentainer boundary still consumes one slot from the gap-decoration
pattern. The meta principle from the resolution is that gap decoration
assignment should be consistent in both fragmented and unfragmented
contexts.
Previously, the paint code constructed `GapDataListIterator` with the
per-fragment gap count and walked it using fragment-relative indices.
That made the pattern restart at slot 0 in every fragment and skipped
slots consumed by suppressed gaps, producing different results in the
fragmented and unfragmented case.
This CL uses two states already computed and stored during layout for
the updated paint code for grid:
* The unfragmented GapGeometry total row gaps used to construct the iterator
* `first_unprocessed_row_gap_idx` used to map each
fragment-relative row-gap index to its slot in the unfragmented
pattern.
Tests have been added to exercise this change. The flex logic will be
implemented in a subsequent change.
[1]:
https://github.com/w3c/csswg-drafts/issues/13754#issuecomment-4298143982
Bug: 505387221
Change-Id: Ie4131e65c43e0eabb25a767d74146f114433234e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7899276
Commit-Queue: Sam Davis Omekara <samomekarajr@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1643469}
--
wpt-commits: e972067e8636682d36877bf1654b1e1363e4805b
wpt-pr: 60481