mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:37:35 +00:00
LibWeb: Add partial serialization for CSSFontFaceRule
This partially adds serialization code for `CSSFontFaceRule::serialized()` to spec. This is only partially implemented as some parts of the `@font-face` rule are not implemented yet.
This commit is contained in:
parent
b0f9ad0000
commit
fdd202259d
3 changed files with 109 additions and 2 deletions
|
@ -9,7 +9,9 @@
|
|||
#include <AK/String.h>
|
||||
#include <AK/StringBuilder.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <AK/Vector.h>
|
||||
#include <LibGfx/Color.h>
|
||||
#include <LibWeb/CSS/UnicodeRange.h>
|
||||
|
||||
namespace Web::CSS {
|
||||
|
||||
|
@ -18,6 +20,8 @@ void escape_a_character_as_code_point(StringBuilder&, u32 character);
|
|||
void serialize_an_identifier(StringBuilder&, StringView ident);
|
||||
void serialize_a_string(StringBuilder&, StringView string);
|
||||
void serialize_a_url(StringBuilder&, StringView url);
|
||||
void serialize_a_local(StringBuilder&, StringView path);
|
||||
void serialize_unicode_ranges(StringBuilder&, Vector<UnicodeRange> const& unicode_ranges);
|
||||
void serialize_a_srgb_value(StringBuilder&, Color color);
|
||||
|
||||
String escape_a_character(u32 character);
|
||||
|
@ -27,4 +31,16 @@ String serialize_a_string(StringView string);
|
|||
String serialize_a_url(StringView url);
|
||||
String serialize_a_srgb_value(Color color);
|
||||
|
||||
template<typename T, typename SerializeItem>
|
||||
void serialize_a_comma_separated_list(StringBuilder& builder, Vector<T> const& items, SerializeItem serialize_item)
|
||||
{
|
||||
for (size_t i = 0; i < items.size(); i++) {
|
||||
auto& item = items.at(i);
|
||||
serialize_item(item);
|
||||
if ((i + 1) < items.size()) {
|
||||
builder.append(",\n"sv);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue