LibWeb/CSS: Stop inserting whitespace when serializing component values

Now that we don't remove whitespace when parsing, we don't need to
artificially insert it back in again when serializing. We do now need
to trim leading and trailing whitespace from UnresolvedStyleValues, as
this previously was done as part of the whitespace insertion.

This makes our serialization of UnresolvedStyleValues more correct and
gets us a few WPT passes for each property in the Typed OM tests.
This commit is contained in:
Sam Atkins 2025-10-30 16:14:54 +00:00
parent 427d7fabd7
commit 61a0898f5f
Notes: github-actions[bot] 2025-11-03 11:25:01 +00:00
13 changed files with 45 additions and 53 deletions

View file

@ -45,7 +45,7 @@ String UnresolvedStyleValue::to_string(SerializationMode) const
if (m_original_source_text.has_value())
return *m_original_source_text;
return serialize_a_series_of_component_values(m_values, InsertWhitespace::Yes);
return MUST(serialize_a_series_of_component_values(m_values).trim_ascii_whitespace());
}
bool UnresolvedStyleValue::equals(StyleValue const& other) const
@ -145,8 +145,7 @@ private:
void serialize_unserialized_values()
{
// FIXME: Stop inserting whitespace once we stop removing it during parsing.
m_reified_values.append(serialize_a_series_of_component_values(m_unserialized_values, InsertWhitespace::Yes));
m_reified_values.append(serialize_a_series_of_component_values(m_unserialized_values));
m_unserialized_values.clear_with_capacity();
}