Move the special logic for table frame out of IntrinsicForAxis()
Categories
(Core :: Layout, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox132 | --- | fixed |
People
(Reporter: TYLin, Assigned: TYLin)
Details
Attachments
(4 files)
We have a special logic for table frame in IntrinsicForAxis()
to establish its min intrinsic inline size as the lower bound. I'd like the move it into nsTableWrapperFrame::IntrinsicISize()
, and simplify the code around it.
Assignee | ||
Comment 1•2 months ago
|
||
These debug information can be easily reintroduced if needed, or inspected via
rr or pernosco. I find them to be a distraction while working on the code.
Updated•2 months ago
|
Assignee | ||
Comment 2•2 months ago
|
||
In the old logic, the table's content inline size is stored in the min
variable, and passed into AddIntrinsicSizeOffset()
to account for margin,
border, and padding.
We don't seem to have test coverage for this behavior, so I added some WPTs in
the next part.
This patch shouldn't change behavior.
Assignee | ||
Comment 3•2 months ago
|
||
table-intrinsic-size-001.html
and table-intrinsic-size-002.html
test
inline-size
and max-inline-size
on the table elements, respectively. They
currently pass on Nightly, but will fail if the special logic in
IntrinsicForAxis() is removed. Since we lacked test coverage for this scenario,
I added these tests.
table-intrinsic-size-003.html
and table-intrinsic-size-004.html
tests the
intrinsic size when table has orthogonal writing mode. They fail due to
bug 1310551.
Assignee | ||
Comment 4•2 months ago
|
||
In AddIntrinsicSizeOffset(),
aContentMinSizeis used only to accept the table's min intrinsic size from
IntrinsicForAxis(). After removing the logic from IntrinsicForAxis() in part 2, we no longer need the
aContentMinSize`
parameter.
Also, this patch improves the readability of the code that initializes result
,
contentBoxToBoxSizingDiff
, and boxSizingToMarginDiff
(renamed from
coordOutsideSize
).
This patch doesn't change behavior.
Comment 7•2 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/09c40ef62a2b
https://hg.mozilla.org/mozilla-central/rev/ec7ee6605016
https://hg.mozilla.org/mozilla-central/rev/45b1d3abcc09
https://hg.mozilla.org/mozilla-central/rev/7a9f35f44a91
Comment 9•2 months ago
|
||
:TYLin - The WPT:
http://wpt.live/css/css-tables/table-intrinsic-size-003.html
Contins an error, it should be "height: 80px" instead of "100px".
The height of the table is "border + content" which is "10px + 10px + 100px" = "120px"
I'll submit a fix.
Assignee | ||
Comment 10•2 months ago
•
|
||
Hi Ian,
I meant to use "block-size:100px" instead of "height: 100px". I can also submit a fix in wpt upstream if you haven't got to it.
David also leaves a message about this.
https://github.com/web-platform-tests/wpt/commit/ff8ec78f3504a09f25b9a83fdc42b0db94332605#diff-a1fe52c68868afc60d9cdb78a1e9ec810daa4b3580132ab4c6b89f41e9173169R23
Assignee | ||
Comment 11•2 months ago
|
||
I posted a fix in https://github.com/web-platform-tests/wpt/pull/48029
Description
•