mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:37:37 +00:00
LibWeb: Use actual line height to calculate float y in IFC
Before, we were using the line height from NodeWithStyle::line_height() to calculate the y offset for floats inside the IFC. However, this value doesn't always correspond to the actual height of a line box. For instance, adding a fragment for an inline-block might change the height of the line box. With this change, we recalculate the height of the line box after adding a new fragment and use this recalculated height value to determine the y position for floats. Fixes https://github.com/SerenityOS/serenity/issues/20982
This commit is contained in:
parent
6ab11e5f44
commit
df2bc8187c
4 changed files with 50 additions and 3 deletions
|
@ -29,6 +29,7 @@ void LineBox::add_fragment(Node const& layout_node, int start, int length, CSSPi
|
|||
m_fragments.append(LineBoxFragment { layout_node, start, length, CSSPixelPoint(x_offset, y_offset), CSSPixelSize(content_width, content_height), border_box_top, border_box_bottom });
|
||||
}
|
||||
m_width += leading_margin + leading_size + content_width + trailing_size + trailing_margin;
|
||||
m_height = max(m_height, content_height + border_box_top + border_box_bottom);
|
||||
}
|
||||
|
||||
void LineBox::trim_trailing_whitespace()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue