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•1 year 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•1 year ago
|
| Assignee | ||
Comment 2•1 year 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•1 year 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•1 year ago
|
||
In AddIntrinsicSizeOffset(), aContentMinSizeis used only to accept the table's min intrinsic size fromIntrinsicForAxis(). 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•1 year 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•1 year 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•1 year 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•1 year ago
|
||
I posted a fix in https://github.com/web-platform-tests/wpt/pull/48029
Description
•