1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:48:14 +00:00

LibWeb: Make StyleValue::to_string() infallible

This commit is contained in:
Sam Atkins 2023-08-22 14:08:15 +01:00 committed by Sam Atkins
parent ccfe197e5a
commit 7fe97ee6c5
112 changed files with 425 additions and 430 deletions

View file

@ -11,7 +11,7 @@
namespace Web::CSS {
ErrorOr<String> LinearGradientStyleValue::to_string() const
String LinearGradientStyleValue::to_string() const
{
StringBuilder builder;
auto side_or_corner_to_string = [](SideOrCorner value) {
@ -38,21 +38,21 @@ ErrorOr<String> LinearGradientStyleValue::to_string() const
};
if (m_properties.gradient_type == GradientType::WebKit)
TRY(builder.try_append("-webkit-"sv));
builder.append("-webkit-"sv);
if (is_repeating())
TRY(builder.try_append("repeating-"sv));
TRY(builder.try_append("linear-gradient("sv));
TRY(m_properties.direction.visit(
[&](SideOrCorner side_or_corner) -> ErrorOr<void> {
return builder.try_appendff("{}{}, "sv, m_properties.gradient_type == GradientType::Standard ? "to "sv : ""sv, side_or_corner_to_string(side_or_corner));
builder.append("repeating-"sv);
builder.append("linear-gradient("sv);
m_properties.direction.visit(
[&](SideOrCorner side_or_corner) {
return builder.appendff("{}{}, "sv, m_properties.gradient_type == GradientType::Standard ? "to "sv : ""sv, side_or_corner_to_string(side_or_corner));
},
[&](Angle const& angle) -> ErrorOr<void> {
return builder.try_appendff("{}, "sv, angle.to_string());
}));
[&](Angle const& angle) {
return builder.appendff("{}, "sv, angle.to_string());
});
TRY(serialize_color_stop_list(builder, m_properties.color_stop_list));
TRY(builder.try_append(")"sv));
return builder.to_string();
serialize_color_stop_list(builder, m_properties.color_stop_list);
builder.append(")"sv);
return MUST(builder.to_string());
}
bool LinearGradientStyleValue::equals(StyleValue const& other_) const