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