Add comprehensive WPT tests for 'stretch' keyword
Categories
(Core :: CSS Parsing and Computation, task)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox135 | --- | fixed |
People
(Reporter: dholbert, Assigned: dholbert)
References
(Blocks 2 open bugs)
Details
Attachments
(9 files, 1 obsolete file)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
1.88 KB,
text/html
|
Details | |
|
35.96 KB,
image/png
|
Details | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Filing this bug as a helper for bug 1789477 to land some tests for the CSS 'stretch' sizing keyword.
| Assignee | ||
Comment 1•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
I'm adding this test as a modified-copy of the similar inline-size test added
in the previous patch in this series.
| Assignee | ||
Comment 3•1 year ago
|
||
The stretch value for these properties (when applied on a clamp on extreme
values) should mostly produce the same results as if we directly specified
"inline-size:stretch", so these tests have mostly the same expectations as the
equivalent test that just sets "inline-size".
| Assignee | ||
Comment 4•1 year ago
|
||
The stretch value for these properties (when applied on a clamp on extreme
values) should mostly produce the same results as if we directly specified
"block-size:stretch", so these tests have mostly the same expectations as the
equivalent test that just sets "block-size".
| Assignee | ||
Comment 5•1 year ago
|
||
These new tests mostly fail for now (per these auto-generated annotations), but
they pass with my local patch stack for bug 1789477.
| Assignee | ||
Comment 6•1 year ago
•
|
||
Notably, I'm not testing tables in these tests, because I found some interop differences between the behavior of stretch in tables, in my work-in-progress patch stack, vs. Blink, vs. WebKit (with -webkit-fill-available since they don't yet handle stretch).
It's not entirely clear what's correct for stretch in various table scenarios (since tables are underspecified and often involve at least one content-measuring pass where stretch would fall back to content-sizing; and many table-part CSS sizes are really just a starting suggestion; etc.), so I'm going to add those tests separately as .tentative or in the mozilla private WPT directory, since I have less confidence about what expectations are correct there.
| Assignee | ||
Comment 7•1 year ago
|
||
| Assignee | ||
Comment 8•1 year ago
|
||
| Assignee | ||
Comment 9•1 year ago
|
||
| Assignee | ||
Comment 10•1 year ago
|
||
The testcase that I just attached (comment 8, screenshot in comment 9) is to demonstrate the bug (or at least inconsistency) that Chrome has with stretch for the min/max block sizing properties (typically min-height/max-height), which I alluded to in
https://phabricator.services.mozilla.com/D230159#7961971
I'll be filing a Chrome bug on that shortly, linking to the testcase/screenshot attached here.
| Assignee | ||
Comment 11•1 year ago
|
||
Chrome bug for the min/max-block-size failures with nonzero inset values: https://issues.chromium.org/issues/380912396
| Assignee | ||
Comment 12•1 year ago
|
||
These tests are all annotated as expected-failure for now, pending our
implementation of stretch/-webkit-fill-available landing and being enabled in
this directory in subsequent bugs.
Updated•1 year ago
|
Comment 13•1 year ago
|
||
| Assignee | ||
Comment 14•1 year ago
|
||
Try's looking good so far for parts 1-5 ( https://treeherder.mozilla.org/jobs?repo=try&revision=1af82ac5e8970e727fe28ad50f9a6f80f1106b22 ), so I landed those.
--> leave-open to land part 6 (which just adds copies with -webkit-fill-available) once that's r+.
| Assignee | ||
Updated•1 year ago
|
Comment 16•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/6314926bcd51
https://hg.mozilla.org/mozilla-central/rev/b0d3b4945584
https://hg.mozilla.org/mozilla-central/rev/de4f982de09c
https://hg.mozilla.org/mozilla-central/rev/f78271585a62
https://hg.mozilla.org/mozilla-central/rev/8f90d4080eec
| Assignee | ||
Comment 17•1 year ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #14)
--> leave-open to land part 6 (which just adds copies with -webkit-fill-available) once that's r+.
whoops, I forgot to add leave-open. Reopening, though I just triggered lando for part 6 and we can let this close when that makes it to m-c.
Comment 18•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 19•1 year ago
|
||
I'll be adding another patch here to extend these tests, actually. --> leave-open after all.
| Assignee | ||
Comment 20•1 year ago
|
||
box-sizing:border-box shouldn't impact the sizing because we're growing to fill
the containing block, which means we end up with the same overall size in the
relevant axis regardless of whether we're stretching the border-box or the
content-box.
(There's one special case in these tests where it does actually matter, but
not in a way that's really based on how 'stretch' itself is resolved; so I
simply opt that subtest out of this second pass.)
Comment 21•1 year ago
|
||
Comment 22•1 year ago
|
||
| bugherder | ||
| Assignee | ||
Updated•1 year ago
|
Description
•