improve inline-sizing of orthogonal flows
Categories
(Core :: Layout: Block and Inline, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox138 | --- | fixed |
People
(Reporter: jfkthame, Assigned: jfkthame)
References
(Blocks 1 open bug)
Details
Attachments
(4 files, 1 obsolete file)
| Assignee | ||
Comment 1•11 years ago
|
||
| Assignee | ||
Updated•11 years ago
|
| Assignee | ||
Comment 2•11 years ago
|
||
Hi jfkthame,
I'm not sure what you were trying to do here, but css-writing-modes has some fairly specific rules about orthogonal flow sizing in https://www.w3.org/TR/css-writing-modes-3/#orthogonal-flows
I've attached a testcase which shows some interesting ways in which the current mOrthogonalLimit system fails. In particular the code you're trying to modify in Initi() doesn't work if the frame that has an mOrthogonalLimit set doesn't happen to be orthogonal to an orthogonal flow (because we've nested orthogonal writing modes). You can see this case in the 'auto' example of the testcase, which ends up sizing as max-content instead of as the ICB height due to the nesting.
This patch brings us in line with css-writing-modes-3 wrt orthogonal limits.
(It doesn't handle resizing of the ICB correctly, but that's an existing problem. Fixing that requires invalidating layout of the orthogonal flow at appropriate times, which is a bit tricky since the frame relationship is quite indirect, which is probably why we don't do it right now. I can try to figure that out, but I'd prefer to land this first and handle that separately.)
Comment 6•4 years ago
|
||
The bug assignee is inactive on Bugzilla, so the assignee is being reset.
Updated•3 years ago
|
Comment 7•1 year ago
|
||
Jonathan, this bug came to mind. Do you feel fantasai's patch might help bug 1310551?
| Assignee | ||
Comment 8•1 year ago
|
||
I think the approach in D45948 isn't quite right, as it "accumulates" constraints from successive scroll frames, but the spec actually says to consider only the closest ancestor scroll frame. That led to the WPT failure fantasai noted in https://phabricator.services.mozilla.com/D45948#1524904. The patch also didn't account for a fixed size of the immediate containing block, and as a result it didn't fix examples like bug 1949064.
I'm landing an alternative patch in bug 1949064 that should fix these issues. I notice that fantasai's patch also included some new WPT reftests, so we should extract those and add them to the suite, for increased test coverage.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 9•1 year ago
|
||
These are the new tests that were included in fantasai's patch D45948.
With the patch that landed in bug 1949064 they should all now pass.
Updated•1 year ago
|
Comment 10•1 year ago
|
||
Comment 12•1 year ago
|
||
| bugherder | ||
Description
•