Переглянути джерело

LibWeb/CSS: Insert whitespace between tokens in serialized UnresolvedSV

Otherwise, `margin: var(--foo) var(--bar)` would be wrongly serialized
as `margin: var(--foo)var(--bar)`
Sam Atkins 9 місяців тому
батько
коміт
6e68e8f3c9

+ 1 - 0
Tests/LibWeb/Text/expected/css/attr-serialization.txt

@@ -6,3 +6,4 @@ attr(foo string)
 attr( foo string )
 attr(foo string, "fallback")
 attr( foo string , "fallback" )
+attr(foo) attr(bar) attr(baz)

+ 1 - 0
Tests/LibWeb/Text/input/css/attr-serialization.html

@@ -18,5 +18,6 @@
         serialize('attr(foo string, "fallback")');
         // FIXME: This should produce `attr(foo string, "fallback")` but doesn't yet.
         serialize('attr(  foo   string  ,   "fallback"  )');
+        serialize('  attr(foo)     attr(bar) attr(baz)  ');
     });
 </script>

+ 1 - 4
Userland/Libraries/LibWeb/CSS/StyleValues/UnresolvedStyleValue.cpp

@@ -17,10 +17,7 @@ String UnresolvedStyleValue::to_string() const
     if (m_original_source_text.has_value())
         return *m_original_source_text;
 
-    StringBuilder builder;
-    for (auto& value : m_values)
-        builder.append(value.to_string());
-    return MUST(builder.to_string());
+    return MUST(String::join(' ', m_values));
 }
 
 bool UnresolvedStyleValue::equals(CSSStyleValue const& other) const