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 3 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•16 days ago
|
||
Updated•16 days ago
|
Assignee | ||
Comment 2•16 days 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•16 days 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•16 days 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•16 days 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•16 days 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•16 days ago
|
||
Assignee | ||
Comment 8•16 days ago
|
||
Assignee | ||
Comment 9•16 days ago
|
||
Assignee | ||
Comment 10•16 days 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•16 days ago
|
||
Chrome bug for the min/max-block-size failures with nonzero inset
values: https://issues.chromium.org/issues/380912396
Assignee | ||
Comment 12•16 days 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•16 days ago
|
Comment 13•16 days ago
|
||
Assignee | ||
Comment 14•16 days 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•15 days ago
|
Comment 16•15 days 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•15 days 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•15 days ago
|
||
Updated•15 days ago
|
Assignee | ||
Comment 19•15 days ago
|
||
I'll be adding another patch here to extend these tests, actually. --> leave-open after all.
Assignee | ||
Comment 20•15 days 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•14 days ago
|
||
Comment 22•14 days ago
|
||
bugherder |
Assignee | ||
Updated•14 days ago
|
Description
•