layout(grid): implement named grid lines and areas#38306
layout(grid): implement named grid lines and areas#38306nicoburns merged 2 commits intoservo:mainfrom
Conversation
|
🔨 Triggering try run (#16554772242) for Linux (WPT) |
|
Test results for linux-wpt from try job (#16554772242): Flaky unexpected result (12)
Stable unexpected results that are known to be intermittent (23)
Stable unexpected results (31)
|
|
|
|
I'm happy to look at this when it's ready. Just leave a comment or request a review from me with the GitHub UI. |
faebf4c to
b770f36
Compare
|
🔨 Triggering try run (#16630601040) for Linux (WPT) |
|
Test results for linux-wpt from try job (#16630601040): Flaky unexpected result (21)
Stable unexpected results that are known to be intermittent (21)
Stable unexpected results (1)
|
|
|
f625097 to
6963f6b
Compare
|
🔨 Triggering try run (#16636579847) for Linux (WPT) |
|
Test results for linux-wpt from try job (#16636579847): Flaky unexpected result (23)
Stable unexpected results that are known to be intermittent (19)
|
|
✨ Try run (#16636579847) succeeded. |
c7cb110 to
cfcf8b7
Compare
|
🔨 Triggering try run (#16685968277) for Linux (WPT) |
|
Test results for linux-wpt from try job (#16685968277): Flaky unexpected result (31)
Stable unexpected results that are known to be intermittent (23)
|
|
✨ Try run (#16685968277) succeeded. |
cfcf8b7 to
2990172
Compare
|
@mrobinson This is now ready for review. I'll do a Taffy release before landing this so we're not depending on a git version, but I figure this should be reviewed first in case addressing review feedback requires changes on the Taffy side. (lint failure is because of the git dependency) |
c782f14 to
7c15a63
Compare
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
7c15a63 to
383a99e
Compare
{"fail_fast": false, "matrix": [{"name": "Linux (WPT)", "workflow": "linux", "wpt": true, "profile": "release", "unit_tests": false, "build_libservo": false, "bencher": false, "build_args": "", "wpt_args": "./tests/wpt/tests/webdriver/tests/classic/ --product servodriver --headless --processes 1", "number_of_wpt_chunks": 2}]}
Changes made
This implements named grid lines (line names in
grid-template-*), named grid areas (grid-template-areas), and the ability to target those usinggrid-{row,column}-{start,end}. It also includes a bunch of miscelaneous fixes forrepeat(auto-fill | auto-fit, ...)syntax as that interacts with the specification of line names.The actual layout implementation is in Taffy. The bulk of this PR is updating Servo to translate (CSS Grid-related) Stylo types into Taffy types using a new iterator-based API which uses iterators and lazy translation for efficiency (which is more important now that we're dealing with string data, even though they're
Atoms).Testing
This functionality has lots of WPT tests. It fixes some seemingly random CSS Grid tests that use named lines/areas even though that's not what they're testing.
Screenshots
wikipedia.org
bbc.co.uk:
theguardian.com: