floating tables with orthogonal writing mode have negative parent-inline-end margin
Categories
(Core :: Layout, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: dbaron, Assigned: dbaron)
References
Details
Attachments
(2 files, 1 obsolete file)
The web-platform-tests:
css/css-writing-modes/table-progression-vlr-004.html
css/css-writing-modes/table-progression-vrl-004.html
have too small an amount of space between the tables.
This space is too small because while the table box is 24px wide, the table wrapper box is 18px wide. This difference is coming from a negative margin that I've so far traced back to this code.
I suspect the underlying problem is that the table wrapper box is a float, floats are sized based on their intrinsic width, and we're getting "incorrect" intrinsic width computation across the orthogonal writing mode (where it's now an "intrinsic height").
So far I haven't looked into this further.
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
I think the problem may well be that this code doesn't consider borderPadding
, so we end up subtracting the sum of borderPadding
and margin
from the margin-inline-end.
(I'd also note that in this case both computedISizeCBWM
and availISizeCBWM
are NS_UNCONSTRAINEDSIZE
.)
Assignee | ||
Comment 4•5 years ago
|
||
Assignee | ||
Comment 5•5 years ago
|
||
Here's a new try run with more failure annotations removed.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 7•5 years ago
|
||
And to be clear, the analysis in comment 2 is what the fix is based on -- I think the problem was that it was making two things equal when it intended to make them differ by the padding, border, and margin that would be subtracted from one of them -- which would in turn just make the function return early. So why not just return earlier?
Comment 9•5 years ago
|
||
This bug's main patch seems to have reduced the assertion-count for this test
to 1, at least on some platforms, so let's allow that in the annotaiton.
Comment 10•5 years ago
|
||
Here's the TEST-UNEXPECTED-PASS orange-log that spawned the followup patch in comment 9:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=267060505&repo=autoland&lineNumber=38301
Comment 11•5 years ago
|
||
Comment 12•5 years ago
|
||
Backed out 2 changesets (bug 1581718) for Crashtest failures in reftest/tests/layout/generic/crashtests/334148-1.xhtml
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=267108241&repo=autoland&lineNumber=38324
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=31c54bb6faffe884b7fed6db76381ce19a7f5d74
Backout:
https://hg.mozilla.org/integration/autoland/rev/050f1bdf7c06fab9f7760d0b11f8ed47a5206728
Comment 13•5 years ago
|
||
Yeah, looks like the assertion count can be as low as 0 now. It was originally asserts(2-4), but as of this patch, it looks like 0 and 1 have both been observed as the assertion-count.
Maybe 2 (or more) of the original 2-4 assertions are fixed by this patch?
Updated•5 years ago
|
Assignee | ||
Comment 14•5 years ago
|
||
I think the assertion count unexpected pass in reftest/tests/layout/generic/crashtests/334148-1.xhtml was unrelated to this patch and started quite a bit later. It's a different test from the one dholbert fixed; it looks to me that for this patch, dholbert's fix was sufficient.
Comment 15•5 years ago
|
||
Assignee | ||
Comment 16•5 years ago
|
||
(It actually came from bug 1555497.)
Comment 17•5 years ago
|
||
bugherder |
Assignee | ||
Updated•5 years ago
|
Description
•