Incorrect baseline alignment for flex container with overflow other than visible
Categories
(Core :: Layout, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: kizmarh, Assigned: dholbert)
References
Details
(Whiteboard: [webcompat][wptsync upstream])
Attachments
(6 files)
Assignee | ||
Comment 1•11 years ago
|
||
Assignee | ||
Updated•11 years ago
|
Assignee | ||
Updated•11 years ago
|
Assignee | ||
Updated•11 years ago
|
Assignee | ||
Comment 3•11 years ago
|
||
Assignee | ||
Comment 4•11 years ago
|
||
Assignee | ||
Comment 5•11 years ago
|
||
Comment 6•11 years ago
|
||
Assignee | ||
Comment 7•11 years ago
|
||
Reporter | ||
Comment 8•11 years ago
|
||
Assignee | ||
Updated•11 years ago
|
Comment 10•10 years ago
|
||
Assignee | ||
Updated•10 years ago
|
Assignee | ||
Comment 12•6 years ago
|
||
Assignee | ||
Comment 13•6 years ago
|
||
Comment 16•6 years ago
|
||
This appears to be causing layout issues on the new twitter design.
Updated•6 years ago
|
Assignee | ||
Comment 17•6 years ago
|
||
I'm taking a look at this.
Assignee | ||
Comment 18•6 years ago
|
||
Before this patch, we made scrollable frames derive their baseline from their
margin-box, because that's what the spec requires for scrollable inline-block
boxes. However, the spec now singles out inline-block as a special case, and
other sorts of scrollable inline-level containers are supposed to derive their
baseline from the scrolled content. So, this patch makes us do that, with an
exception for scrollable inline-block boxes.
For more info about the inline-block special case, see the end of the "block
containers" chunk here: https://drafts.csswg.org/css-align/#baseline-export
Updated•6 years ago
|
Assignee | ||
Comment 19•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 20•6 years ago
|
||
Here's a screenshot of the Twitter UI that was broken due to this bug (look at the "N Retweets/Likes" baseline alignment at the bottom).
Leftmost is Firefox Nightly (broken), middle is my build with the patch applied, and right is Chrome for reference.
As you can see, the baseline alignment seems to be good (and identical) between patched-Firefox and Chrome.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
![]() |
||
Updated•6 years ago
|
![]() |
||
Updated•6 years ago
|
Comment 21•6 years ago
|
||
Comment 22•6 years ago
|
||
Daniel, does this patch really want to use IsBlockFrame()
rather than, e.g., IsFrameOfType(eBlock)
? IsBlockFrame only returns true for actual nsBlockFrame
s, not for subclasses like ComboboxDisplayFrame or DetailsFrame.
Comment 23•6 years ago
|
||
bugherder |
Assignee | ||
Comment 24•6 years ago
|
||
Ah, you're right emilio - the patch broke e.g. this testcase (to now align with the [hidden] last-line baseline of the text inside the details frame): https://jsfiddle.net/xqf1w097/
I should indeed use IsFrameOfType(eBlock) to avoid getting the New Behavior for block subclasses. I'll file a followup on that.
Assignee | ||
Comment 26•6 years ago
|
||
[clearing ni, as it's addressed by bug 1525628]
Description
•