LibWeb: Don't add half-leading twice to inline block boxes

Inline-level blocks already have the half-leading applied internally,
so by adding it twice, we were offsetting their baseline by the
half-leading of the line.

This fixes an issue where inline-blocks were vertically offset from
the line they're supposed to sit on.
This commit is contained in:
Andreas Kling 2022-10-03 01:16:07 +02:00
commit f260afedb1
Notes: sideshowbarker 2024-07-17 06:23:48 +09:00

View file

@ -214,14 +214,12 @@ void LineBuilder::update_last_line()
float fragment_baseline = 0;
if (fragment.layout_node().is_text_node()) {
fragment_baseline = font_metrics.ascent;
fragment_baseline = font_metrics.ascent + half_leading;
} else {
auto const& box = verify_cast<Layout::Box>(fragment.layout_node());
fragment_baseline = box_baseline(m_layout_state, box);
}
fragment_baseline += half_leading;
// Remember the baseline used for this fragment. This will be used when painting the fragment.
fragment.set_baseline(fragment_baseline);