1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:07:35 +00:00

LibWeb: Teach line layout to collapse whitespace across fragments

This kind of HTML now produces a single piece of whitespace:

<span> </span> <span> </span> <span> </span>

We achieve this by checking if the last fragment on the last line ends
in whitespace. If so, we either don't add a fragment at all (for the
current chunk) or we simply skip over all whitespace at the head of
the current chunk (instead of collapsing it to a single ' '.)
This commit is contained in:
Andreas Kling 2020-06-13 14:59:17 +02:00
parent 4ab1b0b436
commit 07ccaa1934
5 changed files with 46 additions and 15 deletions

View file

@ -73,4 +73,11 @@ void LineBox::trim_trailing_whitespace()
}
}
bool LineBox::ends_in_whitespace() const
{
if (m_fragments.is_empty())
return false;
return m_fragments.last().ends_in_whitespace();
}
}