LibWeb+WebContent: Use new String class in CSS::StyleValue

Converts uses of DeprecatedString to String in StyleValue, and patches
surrounding files that depend on these functions.
This commit is contained in:
martinfalisse 2023-01-06 19:02:26 +01:00 committed by Andreas Kling
parent 1c2e7b1e47
commit ce0f41b9fb
Notes: sideshowbarker 2024-07-17 01:55:31 +09:00
37 changed files with 335 additions and 330 deletions

View file

@ -71,7 +71,7 @@ enum class MediaFeatureID {)~~~");
}; };
Optional<MediaFeatureID> media_feature_id_from_string(StringView); Optional<MediaFeatureID> media_feature_id_from_string(StringView);
char const* string_from_media_feature_id(MediaFeatureID); StringView string_from_media_feature_id(MediaFeatureID);
bool media_feature_type_is_range(MediaFeatureID); bool media_feature_type_is_range(MediaFeatureID);
bool media_feature_accepts_type(MediaFeatureID, MediaFeatureValueType); bool media_feature_accepts_type(MediaFeatureID, MediaFeatureValueType);
@ -109,7 +109,7 @@ Optional<MediaFeatureID> media_feature_id_from_string(StringView string)
return {}; return {};
} }
char const* string_from_media_feature_id(MediaFeatureID media_feature_id) StringView string_from_media_feature_id(MediaFeatureID media_feature_id)
{ {
switch (media_feature_id) {)~~~"); switch (media_feature_id) {)~~~");
@ -119,7 +119,7 @@ char const* string_from_media_feature_id(MediaFeatureID media_feature_id)
member_generator.set("name:titlecase", title_casify(name)); member_generator.set("name:titlecase", title_casify(name));
member_generator.append(R"~~~( member_generator.append(R"~~~(
case MediaFeatureID::@name:titlecase@: case MediaFeatureID::@name:titlecase@:
return "@name@";)~~~"); return "@name@"sv;)~~~");
}); });
generator.append(R"~~~( generator.append(R"~~~(

View file

@ -68,7 +68,7 @@ enum class ValueID {
}; };
ValueID value_id_from_string(StringView); ValueID value_id_from_string(StringView);
const char* string_from_value_id(ValueID); StringView string_from_value_id(ValueID);
} }
@ -107,7 +107,7 @@ ValueID value_id_from_string(StringView string)
return ValueID::Invalid; return ValueID::Invalid;
} }
const char* string_from_value_id(ValueID value_id) { StringView string_from_value_id(ValueID value_id) {
switch (value_id) { switch (value_id) {
)~~~"); )~~~");
@ -117,13 +117,13 @@ const char* string_from_value_id(ValueID value_id) {
member_generator.set("name:titlecase", title_casify(name.to_deprecated_string())); member_generator.set("name:titlecase", title_casify(name.to_deprecated_string()));
member_generator.append(R"~~~( member_generator.append(R"~~~(
case ValueID::@name:titlecase@: case ValueID::@name:titlecase@:
return "@name@"; return "@name@"sv;
)~~~"); )~~~");
}); });
generator.append(R"~~~( generator.append(R"~~~(
default: default:
return "(invalid CSS::ValueID)"; return "(invalid CSS::ValueID)"sv;
} }
} }

View file

@ -41,11 +41,11 @@ Angle Angle::percentage_of(Percentage const& percentage) const
return Angle { percentage.as_fraction() * m_value, m_type }; return Angle { percentage.as_fraction() * m_value, m_type };
} }
DeprecatedString Angle::to_deprecated_string() const ErrorOr<String> Angle::to_string() const
{ {
if (is_calculated()) if (is_calculated())
return m_calculated_style->to_deprecated_string(); return m_calculated_style->to_string();
return DeprecatedString::formatted("{}{}", m_value, unit_name()); return String::formatted("{}{}", m_value, unit_name());
} }
float Angle::to_degrees() const float Angle::to_degrees() const

View file

@ -6,8 +6,8 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h>
#include <AK/RefPtr.h> #include <AK/RefPtr.h>
#include <AK/String.h>
#include <LibWeb/Forward.h> #include <LibWeb/Forward.h>
namespace Web::CSS { namespace Web::CSS {
@ -33,7 +33,7 @@ public:
bool is_calculated() const { return m_type == Type::Calculated; } bool is_calculated() const { return m_type == Type::Calculated; }
NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const; NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
float to_degrees() const; float to_degrees() const;
bool operator==(Angle const& other) const bool operator==(Angle const& other) const
@ -57,6 +57,6 @@ template<>
struct AK::Formatter<Web::CSS::Angle> : Formatter<StringView> { struct AK::Formatter<Web::CSS::Angle> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Angle const& angle) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Angle const& angle)
{ {
return Formatter<StringView>::format(builder, angle.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(angle.to_string()));
} }
}; };

View file

@ -201,7 +201,7 @@ DeprecatedString CSSStyleDeclaration::get_property_value(StringView property_nam
auto maybe_property = property(property_id); auto maybe_property = property(property_id);
if (!maybe_property.has_value()) if (!maybe_property.has_value())
return {}; return {};
return maybe_property->value->to_deprecated_string(); return maybe_property->value->to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
} }
// https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertypriority // https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertypriority
@ -291,7 +291,7 @@ DeprecatedString PropertyOwningCSSStyleDeclaration::serialized() const
// FIXME: 4. Shorthand loop: For each shorthand in shorthands, follow these substeps: ... // FIXME: 4. Shorthand loop: For each shorthand in shorthands, follow these substeps: ...
// 5. Let value be the result of invoking serialize a CSS value of declaration. // 5. Let value be the result of invoking serialize a CSS value of declaration.
auto value = declaration.value->to_deprecated_string(); auto value = declaration.value->to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
// 6. Let serialized declaration be the result of invoking serialize a CSS declaration with property name property, value value, // 6. Let serialized declaration be the result of invoking serialize a CSS declaration with property name property, value value,
// and the important flag set if declaration has its important flag set. // and the important flag set if declaration has its important flag set.
@ -340,7 +340,7 @@ JS::ThrowCompletionOr<JS::Value> CSSStyleDeclaration::internal_get(JS::PropertyK
if (property_id == CSS::PropertyID::Invalid) if (property_id == CSS::PropertyID::Invalid)
return Base::internal_get(name, receiver); return Base::internal_get(name, receiver);
if (auto maybe_property = property(property_id); maybe_property.has_value()) if (auto maybe_property = property(property_id); maybe_property.has_value())
return { JS::PrimitiveString::create(vm(), maybe_property->value->to_deprecated_string()) }; return { JS::PrimitiveString::create(vm(), maybe_property->value->to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string()) };
return { JS::PrimitiveString::create(vm(), DeprecatedString::empty()) }; return { JS::PrimitiveString::create(vm(), DeprecatedString::empty()) };
} }

View file

@ -40,11 +40,11 @@ Frequency Frequency::percentage_of(Percentage const& percentage) const
return Frequency { percentage.as_fraction() * m_value, m_type }; return Frequency { percentage.as_fraction() * m_value, m_type };
} }
DeprecatedString Frequency::to_deprecated_string() const ErrorOr<String> Frequency::to_string() const
{ {
if (is_calculated()) if (is_calculated())
return m_calculated_style->to_deprecated_string(); return m_calculated_style->to_string();
return DeprecatedString::formatted("{}{}", m_value, unit_name()); return String::formatted("{}{}", m_value, unit_name());
} }
float Frequency::to_hertz() const float Frequency::to_hertz() const

View file

@ -6,8 +6,8 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h>
#include <AK/RefPtr.h> #include <AK/RefPtr.h>
#include <AK/String.h>
#include <LibWeb/Forward.h> #include <LibWeb/Forward.h>
namespace Web::CSS { namespace Web::CSS {
@ -30,7 +30,7 @@ public:
bool is_calculated() const { return m_type == Type::Calculated; } bool is_calculated() const { return m_type == Type::Calculated; }
NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const; NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
float to_hertz() const; float to_hertz() const;
bool operator==(Frequency const& other) const bool operator==(Frequency const& other) const
@ -54,6 +54,6 @@ template<>
struct AK::Formatter<Web::CSS::Frequency> : Formatter<StringView> { struct AK::Formatter<Web::CSS::Frequency> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Frequency const& frequency) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Frequency const& frequency)
{ {
return Formatter<StringView>::format(builder, frequency.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(frequency.to_string()));
} }
}; };

View file

@ -33,25 +33,25 @@ GridTrackPlacement::GridTrackPlacement()
{ {
} }
DeprecatedString GridTrackPlacement::to_deprecated_string() const ErrorOr<String> GridTrackPlacement::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
if (is_auto()) { if (is_auto()) {
builder.append("auto"sv); builder.append("auto"sv);
return builder.to_deprecated_string(); return builder.to_string();
} }
if (is_span()) { if (is_span()) {
builder.append("span"sv); builder.append("span"sv);
builder.append(" "sv); builder.append(" "sv);
} }
if (m_span_count_or_position != 0) { if (m_span_count_or_position != 0) {
builder.append(DeprecatedString::number(m_span_count_or_position)); builder.append(TRY(String::number(m_span_count_or_position)));
builder.append(" "sv); builder.append(" "sv);
} }
if (has_line_name()) { if (has_line_name()) {
builder.append(m_line_name); builder.append(m_line_name);
} }
return builder.to_deprecated_string(); return builder.to_string();
} }
} }

View file

@ -7,6 +7,7 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h> #include <AK/DeprecatedString.h>
#include <AK/String.h>
namespace Web::CSS { namespace Web::CSS {
@ -36,7 +37,7 @@ public:
Type type() const { return m_type; } Type type() const { return m_type; }
DeprecatedString line_name() const { return m_line_name; } DeprecatedString line_name() const { return m_line_name; }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
bool operator==(GridTrackPlacement const& other) const bool operator==(GridTrackPlacement const& other) const
{ {
return m_type == other.type() && m_span_count_or_position == other.raw_value(); return m_type == other.type() && m_span_count_or_position == other.raw_value();

View file

@ -6,6 +6,7 @@
#include "GridTrackSize.h" #include "GridTrackSize.h"
#include <AK/DeprecatedString.h> #include <AK/DeprecatedString.h>
#include <AK/String.h>
#include <LibWeb/CSS/Length.h> #include <LibWeb/CSS/Length.h>
#include <LibWeb/CSS/Percentage.h> #include <LibWeb/CSS/Percentage.h>
#include <LibWeb/CSS/StyleValue.h> #include <LibWeb/CSS/StyleValue.h>
@ -44,15 +45,15 @@ GridSize GridSize::make_auto()
return GridSize(CSS::Length::make_auto()); return GridSize(CSS::Length::make_auto());
} }
DeprecatedString GridSize::to_deprecated_string() const ErrorOr<String> GridSize::to_string() const
{ {
switch (m_type) { switch (m_type) {
case Type::Length: case Type::Length:
return m_length.to_deprecated_string(); return m_length.to_string();
case Type::Percentage: case Type::Percentage:
return m_percentage.to_deprecated_string(); return m_percentage.to_string();
case Type::FlexibleLength: case Type::FlexibleLength:
return DeprecatedString::formatted("{}fr", m_flexible_length); return String::formatted("{}fr", m_flexible_length);
} }
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
@ -68,15 +69,15 @@ GridMinMax::GridMinMax(GridSize min_grid_size, GridSize max_grid_size)
{ {
} }
DeprecatedString GridMinMax::to_deprecated_string() const ErrorOr<String> GridMinMax::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append("minmax("sv); builder.append("minmax("sv);
builder.appendff("{}", m_min_grid_size.to_deprecated_string()); builder.appendff("{}", TRY(m_min_grid_size.to_string()));
builder.append(", "sv); builder.append(", "sv);
builder.appendff("{}", m_max_grid_size.to_deprecated_string()); builder.appendff("{}", TRY(m_max_grid_size.to_string()));
builder.append(")"sv); builder.append(")"sv);
return builder.to_deprecated_string(); return builder.to_string();
} }
GridRepeat::GridRepeat(GridTrackSizeList grid_track_size_list, int repeat_count) GridRepeat::GridRepeat(GridTrackSizeList grid_track_size_list, int repeat_count)
@ -96,7 +97,7 @@ GridRepeat::GridRepeat()
{ {
} }
DeprecatedString GridRepeat::to_deprecated_string() const ErrorOr<String> GridRepeat::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append("repeat("sv); builder.append("repeat("sv);
@ -114,9 +115,9 @@ DeprecatedString GridRepeat::to_deprecated_string() const
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
builder.append(", "sv); builder.append(", "sv);
builder.appendff("{}", m_grid_track_size_list.to_deprecated_string()); builder.appendff("{}", TRY(m_grid_track_size_list.to_string()));
builder.append(")"sv); builder.append(")"sv);
return builder.to_deprecated_string(); return builder.to_string();
} }
ExplicitGridTrack::ExplicitGridTrack(CSS::GridMinMax grid_minmax) ExplicitGridTrack::ExplicitGridTrack(CSS::GridMinMax grid_minmax)
@ -137,15 +138,15 @@ ExplicitGridTrack::ExplicitGridTrack(CSS::GridSize grid_size)
{ {
} }
DeprecatedString ExplicitGridTrack::to_deprecated_string() const ErrorOr<String> ExplicitGridTrack::to_string() const
{ {
switch (m_type) { switch (m_type) {
case Type::MinMax: case Type::MinMax:
return m_grid_minmax.to_deprecated_string(); return m_grid_minmax.to_string();
case Type::Repeat: case Type::Repeat:
return m_grid_repeat.to_deprecated_string(); return m_grid_repeat.to_string();
case Type::Default: case Type::Default:
return m_grid_size.to_deprecated_string(); return m_grid_size.to_string();
default: default:
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
@ -168,7 +169,7 @@ GridTrackSizeList GridTrackSizeList::make_auto()
return GridTrackSizeList(); return GridTrackSizeList();
} }
DeprecatedString GridTrackSizeList::to_deprecated_string() const ErrorOr<String> GridTrackSizeList::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
auto print_line_names = [&](size_t index) -> void { auto print_line_names = [&](size_t index) -> void {
@ -186,7 +187,7 @@ DeprecatedString GridTrackSizeList::to_deprecated_string() const
print_line_names(i); print_line_names(i);
builder.append(" "sv); builder.append(" "sv);
} }
builder.append(m_track_list[i].to_deprecated_string()); builder.append(TRY(m_track_list[i].to_string()));
if (i < m_track_list.size() - 1) if (i < m_track_list.size() - 1)
builder.append(" "sv); builder.append(" "sv);
} }
@ -194,7 +195,7 @@ DeprecatedString GridTrackSizeList::to_deprecated_string() const
builder.append(" "sv); builder.append(" "sv);
print_line_names(m_track_list.size()); print_line_names(m_track_list.size());
} }
return builder.to_deprecated_string(); return builder.to_string();
} }
} }

View file

@ -52,7 +52,7 @@ public:
return (m_type == Type::Length && !m_length.is_auto()) || is_percentage(); return (m_type == Type::Length && !m_length.is_auto()) || is_percentage();
} }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
bool operator==(GridSize const& other) const bool operator==(GridSize const& other) const
{ {
return m_type == other.type() return m_type == other.type()
@ -78,7 +78,7 @@ public:
GridSize min_grid_size() const& { return m_min_grid_size; } GridSize min_grid_size() const& { return m_min_grid_size; }
GridSize max_grid_size() const& { return m_max_grid_size; } GridSize max_grid_size() const& { return m_max_grid_size; }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
bool operator==(GridMinMax const& other) const bool operator==(GridMinMax const& other) const
{ {
return m_min_grid_size == other.min_grid_size() return m_min_grid_size == other.min_grid_size()
@ -100,7 +100,7 @@ public:
Vector<CSS::ExplicitGridTrack> track_list() const { return m_track_list; } Vector<CSS::ExplicitGridTrack> track_list() const { return m_track_list; }
Vector<Vector<DeprecatedString>> line_names() const { return m_line_names; } Vector<Vector<DeprecatedString>> line_names() const { return m_line_names; }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
bool operator==(GridTrackSizeList const& other) const bool operator==(GridTrackSizeList const& other) const
{ {
return m_line_names == other.line_names() && m_track_list == other.track_list(); return m_line_names == other.line_names() && m_track_list == other.track_list();
@ -133,7 +133,7 @@ public:
GridTrackSizeList grid_track_size_list() const& { return m_grid_track_size_list; } GridTrackSizeList grid_track_size_list() const& { return m_grid_track_size_list; }
Type type() const& { return m_type; } Type type() const& { return m_type; }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
bool operator==(GridRepeat const& other) const bool operator==(GridRepeat const& other) const
{ {
if (m_type != other.type()) if (m_type != other.type())
@ -183,7 +183,7 @@ public:
Type type() const { return m_type; } Type type() const { return m_type; }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
bool operator==(ExplicitGridTrack const& other) const bool operator==(ExplicitGridTrack const& other) const
{ {
if (is_repeat() && other.is_repeat()) if (is_repeat() && other.is_repeat())

View file

@ -112,13 +112,13 @@ CSSPixels Length::to_px(Layout::Node const& layout_node) const
return to_px(viewport_rect, layout_node.font().pixel_metrics(), layout_node.computed_values().font_size(), root_element->layout_node()->computed_values().font_size()); return to_px(viewport_rect, layout_node.font().pixel_metrics(), layout_node.computed_values().font_size(), root_element->layout_node()->computed_values().font_size());
} }
DeprecatedString Length::to_deprecated_string() const ErrorOr<String> Length::to_string() const
{ {
if (is_calculated()) if (is_calculated())
return m_calculated_style->to_deprecated_string(); return m_calculated_style->to_string();
if (is_auto()) if (is_auto())
return "auto"; return String::from_utf8("auto"sv);
return DeprecatedString::formatted("{}{}", m_value, unit_name()); return String::formatted("{}{}", m_value, unit_name());
} }
char const* Length::unit_name() const char const* Length::unit_name() const

View file

@ -8,6 +8,7 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h> #include <AK/DeprecatedString.h>
#include <AK/String.h>
#include <LibGfx/Forward.h> #include <LibGfx/Forward.h>
#include <LibWeb/Forward.h> #include <LibWeb/Forward.h>
#include <LibWeb/PixelUnits.h> #include <LibWeb/PixelUnits.h>
@ -118,7 +119,7 @@ public:
} }
} }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
// We have a RefPtr<CalculatedStyleValue> member, but can't include the header StyleValue.h as it includes // We have a RefPtr<CalculatedStyleValue> member, but can't include the header StyleValue.h as it includes
// this file already. To break the cyclic dependency, we must move all method definitions out. // this file already. To break the cyclic dependency, we must move all method definitions out.
@ -141,6 +142,6 @@ template<>
struct AK::Formatter<Web::CSS::Length> : Formatter<StringView> { struct AK::Formatter<Web::CSS::Length> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Length const& length) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Length const& length)
{ {
return Formatter<StringView>::format(builder, length.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(length.to_string()));
} }
}; };

View file

@ -49,7 +49,7 @@ DeprecatedString MediaList::item(u32 index) const
if (!is_supported_property_index(index)) if (!is_supported_property_index(index))
return {}; return {};
return m_media[index].to_deprecated_string(); return m_media[index].to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
} }
// https://www.w3.org/TR/cssom-1/#dom-medialist-appendmedium // https://www.w3.org/TR/cssom-1/#dom-medialist-appendmedium
@ -70,7 +70,7 @@ void MediaList::delete_medium(DeprecatedString medium)
if (!m) if (!m)
return; return;
m_media.remove_all_matching([&](auto& existing) -> bool { m_media.remove_all_matching([&](auto& existing) -> bool {
return m->to_deprecated_string() == existing->to_deprecated_string(); return m->to_string().release_value_but_fixme_should_propagate_errors() == existing->to_string().release_value_but_fixme_should_propagate_errors();
}); });
// FIXME: If nothing was removed, then throw a NotFoundError exception. // FIXME: If nothing was removed, then throw a NotFoundError exception.
} }
@ -100,7 +100,7 @@ JS::Value MediaList::item_value(size_t index) const
{ {
if (index >= m_media.size()) if (index >= m_media.size())
return JS::js_undefined(); return JS::js_undefined();
return JS::PrimitiveString::create(vm(), m_media[index].to_deprecated_string()); return JS::PrimitiveString::create(vm(), m_media[index].to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string());
} }
} }

View file

@ -20,14 +20,14 @@ NonnullRefPtr<MediaQuery> MediaQuery::create_not_all()
return adopt_ref(*media_query); return adopt_ref(*media_query);
} }
DeprecatedString MediaFeatureValue::to_deprecated_string() const ErrorOr<String> MediaFeatureValue::to_string() const
{ {
return m_value.visit( return m_value.visit(
[](ValueID const& ident) { return DeprecatedString { string_from_value_id(ident) }; }, [](ValueID const& ident) { return String::from_utf8(string_from_value_id(ident)); },
[](Length const& length) { return length.to_deprecated_string(); }, [](Length const& length) { return length.to_string(); },
[](Ratio const& ratio) { return ratio.to_deprecated_string(); }, [](Ratio const& ratio) { return ratio.to_string(); },
[](Resolution const& resolution) { return resolution.to_deprecated_string(); }, [](Resolution const& resolution) { return resolution.to_string(); },
[](float number) { return DeprecatedString::number(number); }); [](float number) { return String::number(number); });
} }
bool MediaFeatureValue::is_same_type(MediaFeatureValue const& other) const bool MediaFeatureValue::is_same_type(MediaFeatureValue const& other) const
@ -40,7 +40,7 @@ bool MediaFeatureValue::is_same_type(MediaFeatureValue const& other) const
[&](float) { return other.is_number(); }); [&](float) { return other.is_number(); });
} }
DeprecatedString MediaFeature::to_deprecated_string() const ErrorOr<String> MediaFeature::to_string() const
{ {
auto comparison_string = [](Comparison comparison) -> StringView { auto comparison_string = [](Comparison comparison) -> StringView {
switch (comparison) { switch (comparison) {
@ -60,18 +60,18 @@ DeprecatedString MediaFeature::to_deprecated_string() const
switch (m_type) { switch (m_type) {
case Type::IsTrue: case Type::IsTrue:
return string_from_media_feature_id(m_id); return String::from_utf8(string_from_media_feature_id(m_id));
case Type::ExactValue: case Type::ExactValue:
return DeprecatedString::formatted("{}:{}", string_from_media_feature_id(m_id), m_value->to_deprecated_string()); return String::formatted("{}:{}", string_from_media_feature_id(m_id), TRY(m_value->to_string()));
case Type::MinValue: case Type::MinValue:
return DeprecatedString::formatted("min-{}:{}", string_from_media_feature_id(m_id), m_value->to_deprecated_string()); return String::formatted("min-{}:{}", string_from_media_feature_id(m_id), TRY(m_value->to_string()));
case Type::MaxValue: case Type::MaxValue:
return DeprecatedString::formatted("max-{}:{}", string_from_media_feature_id(m_id), m_value->to_deprecated_string()); return String::formatted("max-{}:{}", string_from_media_feature_id(m_id), TRY(m_value->to_string()));
case Type::Range: case Type::Range:
if (!m_range->right_comparison.has_value()) if (!m_range->right_comparison.has_value())
return DeprecatedString::formatted("{} {} {}", m_range->left_value.to_deprecated_string(), comparison_string(m_range->left_comparison), string_from_media_feature_id(m_id)); return String::formatted("{} {} {}", TRY(m_range->left_value.to_string()), comparison_string(m_range->left_comparison), string_from_media_feature_id(m_id));
return DeprecatedString::formatted("{} {} {} {} {}", m_range->left_value.to_deprecated_string(), comparison_string(m_range->left_comparison), string_from_media_feature_id(m_id), comparison_string(*m_range->right_comparison), m_range->right_value->to_deprecated_string()); return String::formatted("{} {} {} {} {}", TRY(m_range->left_value.to_string()), comparison_string(m_range->left_comparison), string_from_media_feature_id(m_id), comparison_string(*m_range->right_comparison), TRY(m_range->right_value->to_string()));
} }
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
@ -275,17 +275,17 @@ NonnullOwnPtr<MediaCondition> MediaCondition::from_or_list(NonnullOwnPtrVector<M
return adopt_own(*result); return adopt_own(*result);
} }
DeprecatedString MediaCondition::to_deprecated_string() const ErrorOr<String> MediaCondition::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append('('); builder.append('(');
switch (type) { switch (type) {
case Type::Single: case Type::Single:
builder.append(feature->to_deprecated_string()); builder.append(TRY(feature->to_string()));
break; break;
case Type::Not: case Type::Not:
builder.append("not "sv); builder.append("not "sv);
builder.append(conditions.first().to_deprecated_string()); builder.append(TRY(conditions.first().to_string()));
break; break;
case Type::And: case Type::And:
builder.join(" and "sv, conditions); builder.join(" and "sv, conditions);
@ -298,7 +298,7 @@ DeprecatedString MediaCondition::to_deprecated_string() const
break; break;
} }
builder.append(')'); builder.append(')');
return builder.to_deprecated_string(); return builder.to_string();
} }
MatchResult MediaCondition::evaluate(HTML::Window const& window) const MatchResult MediaCondition::evaluate(HTML::Window const& window) const
@ -318,7 +318,7 @@ MatchResult MediaCondition::evaluate(HTML::Window const& window) const
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
DeprecatedString MediaQuery::to_deprecated_string() const ErrorOr<String> MediaQuery::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
@ -332,10 +332,10 @@ DeprecatedString MediaQuery::to_deprecated_string() const
} }
if (m_media_condition) { if (m_media_condition) {
builder.append(m_media_condition->to_deprecated_string()); builder.append(TRY(m_media_condition->to_string()));
} }
return builder.to_deprecated_string(); return builder.to_string();
} }
bool MediaQuery::evaluate(HTML::Window const& window) bool MediaQuery::evaluate(HTML::Window const& window)

View file

@ -47,7 +47,7 @@ public:
{ {
} }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
bool is_ident() const { return m_value.has<ValueID>(); } bool is_ident() const { return m_value.has<ValueID>(); }
bool is_length() const { return m_value.has<Length>(); } bool is_length() const { return m_value.has<Length>(); }
@ -146,7 +146,7 @@ public:
} }
bool evaluate(HTML::Window const&) const; bool evaluate(HTML::Window const&) const;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
private: private:
enum class Type { enum class Type {
@ -202,7 +202,7 @@ struct MediaCondition {
static NonnullOwnPtr<MediaCondition> from_or_list(NonnullOwnPtrVector<MediaCondition>&&); static NonnullOwnPtr<MediaCondition> from_or_list(NonnullOwnPtrVector<MediaCondition>&&);
MatchResult evaluate(HTML::Window const&) const; MatchResult evaluate(HTML::Window const&) const;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
private: private:
MediaCondition() = default; MediaCondition() = default;
@ -241,7 +241,7 @@ public:
bool matches() const { return m_matches; } bool matches() const { return m_matches; }
bool evaluate(HTML::Window const&); bool evaluate(HTML::Window const&);
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
private: private:
MediaQuery() = default; MediaQuery() = default;
@ -270,7 +270,7 @@ template<>
struct Formatter<Web::CSS::MediaFeature> : Formatter<StringView> { struct Formatter<Web::CSS::MediaFeature> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::MediaFeature const& media_feature) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::MediaFeature const& media_feature)
{ {
return Formatter<StringView>::format(builder, media_feature.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(media_feature.to_string()));
} }
}; };
@ -278,7 +278,7 @@ template<>
struct Formatter<Web::CSS::MediaCondition> : Formatter<StringView> { struct Formatter<Web::CSS::MediaCondition> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::MediaCondition const& media_condition) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::MediaCondition const& media_condition)
{ {
return Formatter<StringView>::format(builder, media_condition.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(media_condition.to_string()));
} }
}; };
@ -286,7 +286,7 @@ template<>
struct Formatter<Web::CSS::MediaQuery> : Formatter<StringView> { struct Formatter<Web::CSS::MediaQuery> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::MediaQuery const& media_query) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::MediaQuery const& media_query)
{ {
return Formatter<StringView>::format(builder, media_query.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(media_query.to_string()));
} }
}; };

View file

@ -6,7 +6,7 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h> #include <AK/String.h>
#include <AK/Types.h> #include <AK/Types.h>
#include <math.h> #include <math.h>
@ -69,11 +69,11 @@ public:
return { Type::Number, m_value / other.m_value }; return { Type::Number, m_value / other.m_value };
} }
DeprecatedString to_deprecated_string() const ErrorOr<String> to_string() const
{ {
if (m_type == Type::IntegerWithExplicitSign) if (m_type == Type::IntegerWithExplicitSign)
return DeprecatedString::formatted("{:+}", m_value); return String::formatted("{:+}", m_value);
return DeprecatedString::number(m_value); return String::number(m_value);
} }
bool operator==(Number const& other) const bool operator==(Number const& other) const
@ -91,6 +91,6 @@ template<>
struct AK::Formatter<Web::CSS::Number> : Formatter<StringView> { struct AK::Formatter<Web::CSS::Number> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Number const& number) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Number const& number)
{ {
return Formatter<StringView>::format(builder, number.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(number.to_string()));
} }
}; };

View file

@ -3966,7 +3966,7 @@ RefPtr<StyleValue> Parser::parse_color_value(ComponentValue const& component_val
RefPtr<StyleValue> Parser::parse_string_value(ComponentValue const& component_value) RefPtr<StyleValue> Parser::parse_string_value(ComponentValue const& component_value)
{ {
if (component_value.is(Token::Type::String)) if (component_value.is(Token::Type::String))
return StringStyleValue::create(component_value.token().string()); return StringStyleValue::create(String::from_utf8(component_value.token().string()).release_value_but_fixme_should_propagate_errors());
return {}; return {};
} }
@ -5238,7 +5238,7 @@ RefPtr<StyleValue> Parser::parse_font_family_value(Vector<ComponentValue> const&
return nullptr; return nullptr;
if (!is_comma_or_eof(i + 1)) if (!is_comma_or_eof(i + 1))
return nullptr; return nullptr;
font_families.append(StringStyleValue::create(part.token().string())); font_families.append(StringStyleValue::create(String::from_utf8(part.token().string()).release_value_but_fixme_should_propagate_errors()));
i++; i++;
continue; continue;
} }
@ -5266,7 +5266,7 @@ RefPtr<StyleValue> Parser::parse_font_family_value(Vector<ComponentValue> const&
if (part.is(Token::Type::Comma)) { if (part.is(Token::Type::Comma)) {
if (current_name_parts.is_empty()) if (current_name_parts.is_empty())
return nullptr; return nullptr;
font_families.append(StringStyleValue::create(DeprecatedString::join(' ', current_name_parts))); font_families.append(StringStyleValue::create(String::from_utf8(DeprecatedString::join(' ', current_name_parts)).release_value_but_fixme_should_propagate_errors()));
current_name_parts.clear(); current_name_parts.clear();
// Can't have a trailing comma // Can't have a trailing comma
if (i + 1 == component_values.size()) if (i + 1 == component_values.size())
@ -5276,7 +5276,7 @@ RefPtr<StyleValue> Parser::parse_font_family_value(Vector<ComponentValue> const&
} }
if (!current_name_parts.is_empty()) { if (!current_name_parts.is_empty()) {
font_families.append(StringStyleValue::create(DeprecatedString::join(' ', current_name_parts))); font_families.append(StringStyleValue::create(String::from_utf8(DeprecatedString::join(' ', current_name_parts)).release_value_but_fixme_should_propagate_errors()));
current_name_parts.clear(); current_name_parts.clear();
} }

View file

@ -6,7 +6,7 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h> #include <AK/String.h>
#include <AK/Variant.h> #include <AK/Variant.h>
#include <LibWeb/CSS/Angle.h> #include <LibWeb/CSS/Angle.h>
#include <LibWeb/CSS/Frequency.h> #include <LibWeb/CSS/Frequency.h>
@ -31,9 +31,9 @@ public:
float value() const { return m_value; } float value() const { return m_value; }
float as_fraction() const { return m_value * 0.01f; } float as_fraction() const { return m_value * 0.01f; }
DeprecatedString to_deprecated_string() const ErrorOr<String> to_string() const
{ {
return DeprecatedString::formatted("{}%", m_value); return String::formatted("{}%", m_value);
} }
bool operator==(Percentage const& other) const { return m_value == other.m_value; } bool operator==(Percentage const& other) const { return m_value == other.m_value; }
@ -128,12 +128,12 @@ public:
}); });
} }
DeprecatedString to_deprecated_string() const ErrorOr<String> to_string() const
{ {
if (is_percentage()) if (is_percentage())
return m_value.template get<Percentage>().to_deprecated_string(); return m_value.template get<Percentage>().to_string();
return m_value.template get<T>().to_deprecated_string(); return m_value.template get<T>().to_string();
} }
bool operator==(PercentageOr<T> const& other) const bool operator==(PercentageOr<T> const& other) const
@ -231,7 +231,7 @@ template<>
struct AK::Formatter<Web::CSS::Percentage> : Formatter<StringView> { struct AK::Formatter<Web::CSS::Percentage> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Percentage const& percentage) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Percentage const& percentage)
{ {
return Formatter<StringView>::format(builder, percentage.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(percentage.to_string()));
} }
}; };
@ -239,7 +239,7 @@ template<>
struct AK::Formatter<Web::CSS::AnglePercentage> : Formatter<StringView> { struct AK::Formatter<Web::CSS::AnglePercentage> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::AnglePercentage const& angle_percentage) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::AnglePercentage const& angle_percentage)
{ {
return Formatter<StringView>::format(builder, angle_percentage.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(angle_percentage.to_string()));
} }
}; };
@ -247,7 +247,7 @@ template<>
struct AK::Formatter<Web::CSS::FrequencyPercentage> : Formatter<StringView> { struct AK::Formatter<Web::CSS::FrequencyPercentage> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::FrequencyPercentage const& frequency_percentage) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::FrequencyPercentage const& frequency_percentage)
{ {
return Formatter<StringView>::format(builder, frequency_percentage.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(frequency_percentage.to_string()));
} }
}; };
@ -255,7 +255,7 @@ template<>
struct AK::Formatter<Web::CSS::LengthPercentage> : Formatter<StringView> { struct AK::Formatter<Web::CSS::LengthPercentage> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::LengthPercentage const& length_percentage) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::LengthPercentage const& length_percentage)
{ {
return Formatter<StringView>::format(builder, length_percentage.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(length_percentage.to_string()));
} }
}; };
@ -263,6 +263,6 @@ template<>
struct AK::Formatter<Web::CSS::TimePercentage> : Formatter<StringView> { struct AK::Formatter<Web::CSS::TimePercentage> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::TimePercentage const& time_percentage) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::TimePercentage const& time_percentage)
{ {
return Formatter<StringView>::format(builder, time_percentage.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(time_percentage.to_string()));
} }
}; };

View file

@ -22,9 +22,9 @@ bool Ratio::is_degenerate() const
|| !isfinite(m_second_value) || m_second_value == 0; || !isfinite(m_second_value) || m_second_value == 0;
} }
DeprecatedString Ratio::to_deprecated_string() const ErrorOr<String> Ratio::to_string() const
{ {
return DeprecatedString::formatted("{} / {}", m_first_value, m_second_value); return String::formatted("{} / {}", m_first_value, m_second_value);
} }
} }

View file

@ -6,7 +6,7 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h> #include <AK/String.h>
namespace Web::CSS { namespace Web::CSS {
@ -17,7 +17,7 @@ public:
float value() const { return m_first_value / m_second_value; } float value() const { return m_first_value / m_second_value; }
bool is_degenerate() const; bool is_degenerate() const;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
private: private:
float m_first_value { 0 }; float m_first_value { 0 };

View file

@ -21,9 +21,9 @@ Resolution::Resolution(float value, Type type)
{ {
} }
DeprecatedString Resolution::to_deprecated_string() const ErrorOr<String> Resolution::to_string() const
{ {
return DeprecatedString::formatted("{}{}", m_value, unit_name()); return String::formatted("{}{}", m_value, unit_name());
} }
float Resolution::to_dots_per_pixel() const float Resolution::to_dots_per_pixel() const

View file

@ -6,7 +6,7 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h> #include <AK/String.h>
#include <LibWeb/Forward.h> #include <LibWeb/Forward.h>
namespace Web::CSS { namespace Web::CSS {
@ -24,7 +24,7 @@ public:
Resolution(int value, Type type); Resolution(int value, Type type);
Resolution(float value, Type type); Resolution(float value, Type type);
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
float to_dots_per_pixel() const; float to_dots_per_pixel() const;
bool operator==(Resolution const& other) const bool operator==(Resolution const& other) const

View file

@ -182,11 +182,11 @@ DeprecatedString serialize_a_url(StringView url)
return builder.to_deprecated_string(); return builder.to_deprecated_string();
} }
DeprecatedString serialize_a_srgb_value(Color color) ErrorOr<String> serialize_a_srgb_value(Color color)
{ {
StringBuilder builder; StringBuilder builder;
serialize_a_srgb_value(builder, color); serialize_a_srgb_value(builder, color);
return builder.to_deprecated_string(); return builder.to_string();
} }
} }

View file

@ -7,6 +7,7 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h> #include <AK/DeprecatedString.h>
#include <AK/String.h>
#include <AK/StringBuilder.h> #include <AK/StringBuilder.h>
#include <AK/StringView.h> #include <AK/StringView.h>
#include <AK/Vector.h> #include <AK/Vector.h>
@ -29,7 +30,7 @@ DeprecatedString escape_a_character_as_code_point(u32 character);
DeprecatedString serialize_an_identifier(StringView ident); DeprecatedString serialize_an_identifier(StringView ident);
DeprecatedString serialize_a_string(StringView string); DeprecatedString serialize_a_string(StringView string);
DeprecatedString serialize_a_url(StringView url); DeprecatedString serialize_a_url(StringView url);
DeprecatedString serialize_a_srgb_value(Color color); ErrorOr<String> serialize_a_srgb_value(Color color);
template<typename T, typename SerializeItem> template<typename T, typename SerializeItem>
void serialize_a_comma_separated_list(StringBuilder& builder, Vector<T> const& items, SerializeItem serialize_item) void serialize_a_comma_separated_list(StringBuilder& builder, Vector<T> const& items, SerializeItem serialize_item)

View file

@ -74,22 +74,22 @@ bool Size::contains_percentage() const
} }
} }
DeprecatedString Size::to_deprecated_string() const ErrorOr<String> Size::to_string() const
{ {
switch (m_type) { switch (m_type) {
case Type::Auto: case Type::Auto:
return "auto"; return String::from_utf8("auto"sv);
case Type::Length: case Type::Length:
case Type::Percentage: case Type::Percentage:
return m_length_percentage.to_deprecated_string(); return m_length_percentage.to_string();
case Type::MinContent: case Type::MinContent:
return "min-content"; return String::from_utf8("min-content"sv);
case Type::MaxContent: case Type::MaxContent:
return "max-content"; return String::from_utf8("max-content"sv);
case Type::FitContent: case Type::FitContent:
return DeprecatedString::formatted("fit-content({})", m_length_percentage.to_deprecated_string()); return String::formatted("fit-content({})", TRY(m_length_percentage.to_string()));
case Type::None: case Type::None:
return "none"; return String::from_utf8("none"sv);
} }
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }

View file

@ -63,7 +63,7 @@ public:
return m_length_percentage.length(); return m_length_percentage.length();
} }
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
private: private:
Size(Type type, LengthPercentage); Size(Type type, LengthPercentage);
@ -78,6 +78,6 @@ template<>
struct AK::Formatter<Web::CSS::Size> : Formatter<StringView> { struct AK::Formatter<Web::CSS::Size> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Size const& size) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Size const& size)
{ {
return Formatter<StringView>::format(builder, size.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(size.to_string()));
} }
}; };

View file

@ -1175,7 +1175,7 @@ void StyleComputer::compute_font(StyleProperties& style, DOM::Element const* ele
if (family.is_identifier()) { if (family.is_identifier()) {
found_font = find_generic_font(family.to_identifier()); found_font = find_generic_font(family.to_identifier());
} else if (family.is_string()) { } else if (family.is_string()) {
found_font = find_font(family.to_deprecated_string()); found_font = find_font(family.to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string());
} }
if (found_font) if (found_font)
break; break;
@ -1183,7 +1183,7 @@ void StyleComputer::compute_font(StyleProperties& style, DOM::Element const* ele
} else if (family_value->is_identifier()) { } else if (family_value->is_identifier()) {
found_font = find_generic_font(family_value->to_identifier()); found_font = find_generic_font(family_value->to_identifier());
} else if (family_value->is_string()) { } else if (family_value->is_string()) {
found_font = find_font(family_value->to_deprecated_string()); found_font = find_font(family_value->to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string());
} }
if (!found_font) { if (!found_font) {

View file

@ -81,7 +81,7 @@ CSS::Size StyleProperties::size_value(CSS::PropertyID id) const
} }
// FIXME: Support `fit-content(<length>)` // FIXME: Support `fit-content(<length>)`
dbgln("FIXME: Unsupported size value: `{}`, treating as `auto`", value->to_deprecated_string()); dbgln("FIXME: Unsupported size value: `{}`, treating as `auto`", value->to_string());
return CSS::Size::make_auto(); return CSS::Size::make_auto();
} }
@ -191,13 +191,13 @@ float StyleProperties::opacity() const
if (maybe_percentage.has_value()) if (maybe_percentage.has_value())
unclamped_opacity = maybe_percentage->as_fraction(); unclamped_opacity = maybe_percentage->as_fraction();
else else
dbgln("Unable to resolve calc() as opacity (percentage): {}", value->to_deprecated_string()); dbgln("Unable to resolve calc() as opacity (percentage): {}", value->to_string());
} else { } else {
auto maybe_number = value->as_calculated().resolve_number(); auto maybe_number = value->as_calculated().resolve_number();
if (maybe_number.has_value()) if (maybe_number.has_value())
unclamped_opacity = maybe_number.value(); unclamped_opacity = maybe_number.value();
else else
dbgln("Unable to resolve calc() as opacity (number): {}", value->to_deprecated_string()); dbgln("Unable to resolve calc() as opacity (number): {}", value->to_string());
} }
} else if (value->is_percentage()) { } else if (value->is_percentage()) {
unclamped_opacity = value->as_percentage().percentage().as_fraction(); unclamped_opacity = value->as_percentage().percentage().as_fraction();
@ -488,7 +488,7 @@ CSS::ContentData StyleProperties::content() const
StringBuilder builder; StringBuilder builder;
for (auto const& item : content_style_value.content().values()) { for (auto const& item : content_style_value.content().values()) {
if (item.is_string()) { if (item.is_string()) {
builder.append(item.to_deprecated_string()); builder.append(item.to_string().release_value_but_fixme_should_propagate_errors());
} else { } else {
// TODO: Implement quotes, counters, images, and other things. // TODO: Implement quotes, counters, images, and other things.
} }
@ -500,7 +500,7 @@ CSS::ContentData StyleProperties::content() const
StringBuilder alt_text_builder; StringBuilder alt_text_builder;
for (auto const& item : content_style_value.alt_text()->values()) { for (auto const& item : content_style_value.alt_text()->values()) {
if (item.is_string()) { if (item.is_string()) {
alt_text_builder.append(item.to_deprecated_string()); alt_text_builder.append(item.to_string().release_value_but_fixme_should_propagate_errors());
} else { } else {
// TODO: Implement counters // TODO: Implement counters
} }
@ -598,7 +598,7 @@ Vector<CSS::TextDecorationLine> StyleProperties::text_decoration_line() const
if (value->is_identifier() && value->to_identifier() == ValueID::None) if (value->is_identifier() && value->to_identifier() == ValueID::None)
return {}; return {};
dbgln("FIXME: Unsupported value for text-decoration-line: {}", value->to_deprecated_string()); dbgln("FIXME: Unsupported value for text-decoration-line: {}", value->to_string());
return {}; return {};
} }

View file

@ -313,16 +313,16 @@ BackgroundStyleValue::BackgroundStyleValue(
VERIFY(!m_color->is_value_list()); VERIFY(!m_color->is_value_list());
} }
DeprecatedString BackgroundStyleValue::to_deprecated_string() const ErrorOr<String> BackgroundStyleValue::to_string() const
{ {
if (m_layer_count == 1) { if (m_layer_count == 1) {
return DeprecatedString::formatted("{} {} {} {} {} {} {} {}", m_color->to_deprecated_string(), m_image->to_deprecated_string(), m_position->to_deprecated_string(), m_size->to_deprecated_string(), m_repeat->to_deprecated_string(), m_attachment->to_deprecated_string(), m_origin->to_deprecated_string(), m_clip->to_deprecated_string()); return String::formatted("{} {} {} {} {} {} {} {}", TRY(m_color->to_string()), TRY(m_image->to_string()), TRY(m_position->to_string()), TRY(m_size->to_string()), TRY(m_repeat->to_string()), TRY(m_attachment->to_string()), TRY(m_origin->to_string()), TRY(m_clip->to_string()));
} }
auto get_layer_value_string = [](NonnullRefPtr<StyleValue> const& style_value, size_t index) { auto get_layer_value_string = [](NonnullRefPtr<StyleValue> const& style_value, size_t index) {
if (style_value->is_value_list()) if (style_value->is_value_list())
return style_value->as_value_list().value_at(index, true)->to_deprecated_string(); return style_value->as_value_list().value_at(index, true)->to_string();
return style_value->to_deprecated_string(); return style_value->to_string();
}; };
StringBuilder builder; StringBuilder builder;
@ -330,11 +330,11 @@ DeprecatedString BackgroundStyleValue::to_deprecated_string() const
if (i) if (i)
builder.append(", "sv); builder.append(", "sv);
if (i == m_layer_count - 1) if (i == m_layer_count - 1)
builder.appendff("{} ", m_color->to_deprecated_string()); builder.appendff("{} ", TRY(m_color->to_string()));
builder.appendff("{} {} {} {} {} {} {}", get_layer_value_string(m_image, i), get_layer_value_string(m_position, i), get_layer_value_string(m_size, i), get_layer_value_string(m_repeat, i), get_layer_value_string(m_attachment, i), get_layer_value_string(m_origin, i), get_layer_value_string(m_clip, i)); builder.appendff("{} {} {} {} {} {} {}", TRY(get_layer_value_string(m_image, i)), TRY(get_layer_value_string(m_position, i)), TRY(get_layer_value_string(m_size, i)), TRY(get_layer_value_string(m_repeat, i)), TRY(get_layer_value_string(m_attachment, i)), TRY(get_layer_value_string(m_origin, i)), TRY(get_layer_value_string(m_clip, i)));
} }
return builder.to_deprecated_string(); return builder.to_string();
} }
bool BackgroundStyleValue::equals(StyleValue const& other) const bool BackgroundStyleValue::equals(StyleValue const& other) const
@ -352,9 +352,9 @@ bool BackgroundStyleValue::equals(StyleValue const& other) const
&& m_clip->equals(typed_other.m_clip); && m_clip->equals(typed_other.m_clip);
} }
DeprecatedString BackgroundRepeatStyleValue::to_deprecated_string() const ErrorOr<String> BackgroundRepeatStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {}", CSS::to_string(m_repeat_x), CSS::to_string(m_repeat_y)); return String::formatted("{} {}", CSS::to_string(m_repeat_x), CSS::to_string(m_repeat_y));
} }
bool BackgroundRepeatStyleValue::equals(StyleValue const& other) const bool BackgroundRepeatStyleValue::equals(StyleValue const& other) const
@ -365,9 +365,9 @@ bool BackgroundRepeatStyleValue::equals(StyleValue const& other) const
return m_repeat_x == typed_other.m_repeat_x && m_repeat_y == typed_other.m_repeat_y; return m_repeat_x == typed_other.m_repeat_x && m_repeat_y == typed_other.m_repeat_y;
} }
DeprecatedString BackgroundSizeStyleValue::to_deprecated_string() const ErrorOr<String> BackgroundSizeStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {}", m_size_x.to_deprecated_string(), m_size_y.to_deprecated_string()); return String::formatted("{} {}", TRY(m_size_x.to_string()), TRY(m_size_y.to_string()));
} }
bool BackgroundSizeStyleValue::equals(StyleValue const& other) const bool BackgroundSizeStyleValue::equals(StyleValue const& other) const
@ -378,9 +378,9 @@ bool BackgroundSizeStyleValue::equals(StyleValue const& other) const
return m_size_x == typed_other.m_size_x && m_size_y == typed_other.m_size_y; return m_size_x == typed_other.m_size_x && m_size_y == typed_other.m_size_y;
} }
DeprecatedString BorderStyleValue::to_deprecated_string() const ErrorOr<String> BorderStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {} {}", m_border_width->to_deprecated_string(), m_border_style->to_deprecated_string(), m_border_color->to_deprecated_string()); return String::formatted("{} {} {}", TRY(m_border_width->to_string()), TRY(m_border_style->to_string()), TRY(m_border_color->to_string()));
} }
bool BorderStyleValue::equals(StyleValue const& other) const bool BorderStyleValue::equals(StyleValue const& other) const
@ -393,11 +393,11 @@ bool BorderStyleValue::equals(StyleValue const& other) const
&& m_border_color->equals(typed_other.m_border_color); && m_border_color->equals(typed_other.m_border_color);
} }
DeprecatedString BorderRadiusStyleValue::to_deprecated_string() const ErrorOr<String> BorderRadiusStyleValue::to_string() const
{ {
if (m_horizontal_radius == m_vertical_radius) if (m_horizontal_radius == m_vertical_radius)
return m_horizontal_radius.to_deprecated_string(); return m_horizontal_radius.to_string();
return DeprecatedString::formatted("{} / {}", m_horizontal_radius.to_deprecated_string(), m_vertical_radius.to_deprecated_string()); return String::formatted("{} / {}", TRY(m_horizontal_radius.to_string()), TRY(m_vertical_radius.to_string()));
} }
bool BorderRadiusStyleValue::equals(StyleValue const& other) const bool BorderRadiusStyleValue::equals(StyleValue const& other) const
@ -410,9 +410,9 @@ bool BorderRadiusStyleValue::equals(StyleValue const& other) const
&& m_vertical_radius == typed_other.m_vertical_radius; && m_vertical_radius == typed_other.m_vertical_radius;
} }
DeprecatedString BorderRadiusShorthandStyleValue::to_deprecated_string() const ErrorOr<String> BorderRadiusShorthandStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {} {} {} / {} {} {} {}", m_top_left->horizontal_radius().to_deprecated_string(), m_top_right->horizontal_radius().to_deprecated_string(), m_bottom_right->horizontal_radius().to_deprecated_string(), m_bottom_left->horizontal_radius().to_deprecated_string(), m_top_left->vertical_radius().to_deprecated_string(), m_top_right->vertical_radius().to_deprecated_string(), m_bottom_right->vertical_radius().to_deprecated_string(), m_bottom_left->vertical_radius().to_deprecated_string()); return String::formatted("{} {} {} {} / {} {} {} {}", TRY(m_top_left->horizontal_radius().to_string()), TRY(m_top_right->horizontal_radius().to_string()), TRY(m_bottom_right->horizontal_radius().to_string()), TRY(m_bottom_left->horizontal_radius().to_string()), TRY(m_top_left->vertical_radius().to_string()), TRY(m_top_right->vertical_radius().to_string()), TRY(m_bottom_right->vertical_radius().to_string()), TRY(m_bottom_left->vertical_radius().to_string()));
} }
bool BorderRadiusShorthandStyleValue::equals(StyleValue const& other) const bool BorderRadiusShorthandStyleValue::equals(StyleValue const& other) const
@ -615,9 +615,9 @@ void CalculatedStyleValue::CalculationResult::divide_by(CalculationResult const&
}); });
} }
DeprecatedString CalculatedStyleValue::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::to_string() const
{ {
return DeprecatedString::formatted("calc({})", m_expression->to_deprecated_string()); return String::formatted("calc({})", TRY(m_expression->to_string()));
} }
bool CalculatedStyleValue::equals(StyleValue const& other) const bool CalculatedStyleValue::equals(StyleValue const& other) const
@ -625,81 +625,81 @@ bool CalculatedStyleValue::equals(StyleValue const& other) const
if (type() != other.type()) if (type() != other.type())
return false; return false;
// This is a case where comparing the strings actually makes sense. // This is a case where comparing the strings actually makes sense.
return to_deprecated_string() == other.to_deprecated_string(); return to_string().release_value_but_fixme_should_propagate_errors() == other.to_string().release_value_but_fixme_should_propagate_errors();
} }
DeprecatedString CalculatedStyleValue::CalcNumberValue::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcNumberValue::to_string() const
{ {
return value.visit( return value.visit(
[](Number const& number) { return DeprecatedString::number(number.value()); }, [](Number const& number) { return String::number(number.value()); },
[](NonnullOwnPtr<CalcNumberSum> const& sum) { return DeprecatedString::formatted("({})", sum->to_deprecated_string()); }); [](NonnullOwnPtr<CalcNumberSum> const& sum) { return String::formatted("({})", sum->to_string()); });
} }
DeprecatedString CalculatedStyleValue::CalcValue::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcValue::to_string() const
{ {
return value.visit( return value.visit(
[](Number const& number) { return DeprecatedString::number(number.value()); }, [](Number const& number) { return String::number(number.value()); },
[](NonnullOwnPtr<CalcSum> const& sum) { return DeprecatedString::formatted("({})", sum->to_deprecated_string()); }, [](NonnullOwnPtr<CalcSum> const& sum) { return String::formatted("({})", sum->to_string()); },
[](auto const& v) { return v.to_deprecated_string(); }); [](auto const& v) { return v.to_string(); });
} }
DeprecatedString CalculatedStyleValue::CalcSum::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcSum::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append(first_calc_product->to_deprecated_string()); builder.append(TRY(first_calc_product->to_string()));
for (auto const& item : zero_or_more_additional_calc_products) for (auto const& item : zero_or_more_additional_calc_products)
builder.append(item.to_deprecated_string()); builder.append(TRY(item.to_string()));
return builder.to_deprecated_string(); return builder.to_string();
} }
DeprecatedString CalculatedStyleValue::CalcNumberSum::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcNumberSum::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append(first_calc_number_product->to_deprecated_string()); builder.append(TRY(first_calc_number_product->to_string()));
for (auto const& item : zero_or_more_additional_calc_number_products) for (auto const& item : zero_or_more_additional_calc_number_products)
builder.append(item.to_deprecated_string()); builder.append(TRY(item.to_string()));
return builder.to_deprecated_string(); return builder.to_string();
} }
DeprecatedString CalculatedStyleValue::CalcProduct::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcProduct::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append(first_calc_value.to_deprecated_string()); builder.append(TRY(first_calc_value.to_string()));
for (auto const& item : zero_or_more_additional_calc_values) for (auto const& item : zero_or_more_additional_calc_values)
builder.append(item.to_deprecated_string()); builder.append(TRY(item.to_string()));
return builder.to_deprecated_string(); return builder.to_string();
} }
DeprecatedString CalculatedStyleValue::CalcSumPartWithOperator::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcSumPartWithOperator::to_string() const
{ {
return DeprecatedString::formatted(" {} {}", op == SumOperation::Add ? "+"sv : "-"sv, value->to_deprecated_string()); return String::formatted(" {} {}", op == SumOperation::Add ? "+"sv : "-"sv, TRY(value->to_string()));
} }
DeprecatedString CalculatedStyleValue::CalcProductPartWithOperator::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcProductPartWithOperator::to_string() const
{ {
auto value_string = value.visit( auto value_string = value.visit(
[](CalcValue const& v) { return v.to_deprecated_string(); }, [](CalcValue const& v) { return v.to_string(); },
[](CalcNumberValue const& v) { return v.to_deprecated_string(); }); [](CalcNumberValue const& v) { return v.to_string(); });
return DeprecatedString::formatted(" {} {}", op == ProductOperation::Multiply ? "*"sv : "/"sv, value_string); return String::formatted(" {} {}", op == ProductOperation::Multiply ? "*"sv : "/"sv, value_string);
} }
DeprecatedString CalculatedStyleValue::CalcNumberProduct::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcNumberProduct::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append(first_calc_number_value.to_deprecated_string()); builder.append(TRY(first_calc_number_value.to_string()));
for (auto const& item : zero_or_more_additional_calc_number_values) for (auto const& item : zero_or_more_additional_calc_number_values)
builder.append(item.to_deprecated_string()); builder.append(TRY(item.to_string()));
return builder.to_deprecated_string(); return builder.to_string();
} }
DeprecatedString CalculatedStyleValue::CalcNumberProductPartWithOperator::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcNumberProductPartWithOperator::to_string() const
{ {
return DeprecatedString::formatted(" {} {}", op == ProductOperation::Multiply ? "*"sv : "/"sv, value.to_deprecated_string()); return String::formatted(" {} {}", op == ProductOperation::Multiply ? "*"sv : "/"sv, TRY(value.to_string()));
} }
DeprecatedString CalculatedStyleValue::CalcNumberSumPartWithOperator::to_deprecated_string() const ErrorOr<String> CalculatedStyleValue::CalcNumberSumPartWithOperator::to_string() const
{ {
return DeprecatedString::formatted(" {} {}", op == SumOperation::Add ? "+"sv : "-"sv, value->to_deprecated_string()); return String::formatted(" {} {}", op == SumOperation::Add ? "+"sv : "-"sv, TRY(value->to_string()));
} }
Optional<Angle> CalculatedStyleValue::resolve_angle() const Optional<Angle> CalculatedStyleValue::resolve_angle() const
@ -1149,7 +1149,7 @@ CalculatedStyleValue::CalculationResult CalculatedStyleValue::CalcNumberSumPartW
return value->resolve(layout_node, percentage_basis); return value->resolve(layout_node, percentage_basis);
} }
DeprecatedString ColorStyleValue::to_deprecated_string() const ErrorOr<String> ColorStyleValue::to_string() const
{ {
return serialize_a_srgb_value(m_color); return serialize_a_srgb_value(m_color);
} }
@ -1161,11 +1161,11 @@ bool ColorStyleValue::equals(StyleValue const& other) const
return m_color == other.as_color().m_color; return m_color == other.as_color().m_color;
} }
DeprecatedString ContentStyleValue::to_deprecated_string() const ErrorOr<String> ContentStyleValue::to_string() const
{ {
if (has_alt_text()) if (has_alt_text())
return DeprecatedString::formatted("{} / {}", m_content->to_deprecated_string(), m_alt_text->to_deprecated_string()); return String::formatted("{} / {}", TRY(m_content->to_string()), TRY(m_alt_text->to_string()));
return m_content->to_deprecated_string(); return m_content->to_string();
} }
bool ContentStyleValue::equals(StyleValue const& other) const bool ContentStyleValue::equals(StyleValue const& other) const
@ -1223,7 +1223,7 @@ float Filter::Color::resolved_amount() const
return 1.0f; return 1.0f;
} }
DeprecatedString FilterValueListStyleValue::to_deprecated_string() const ErrorOr<String> FilterValueListStyleValue::to_string() const
{ {
StringBuilder builder {}; StringBuilder builder {};
bool first = true; bool first = true;
@ -1234,13 +1234,13 @@ DeprecatedString FilterValueListStyleValue::to_deprecated_string() const
[&](Filter::Blur const& blur) { [&](Filter::Blur const& blur) {
builder.append("blur("sv); builder.append("blur("sv);
if (blur.radius.has_value()) if (blur.radius.has_value())
builder.append(blur.radius->to_deprecated_string()); builder.append(blur.radius->to_string().release_value());
}, },
[&](Filter::DropShadow const& drop_shadow) { [&](Filter::DropShadow const& drop_shadow) {
builder.appendff("drop-shadow({} {}"sv, builder.appendff("drop-shadow({} {}"sv,
drop_shadow.offset_x, drop_shadow.offset_y); drop_shadow.offset_x, drop_shadow.offset_y);
if (drop_shadow.radius.has_value()) if (drop_shadow.radius.has_value())
builder.appendff(" {}", drop_shadow.radius->to_deprecated_string()); builder.appendff(" {}", drop_shadow.radius->to_string());
if (drop_shadow.color.has_value()) { if (drop_shadow.color.has_value()) {
builder.append(' '); builder.append(' ');
serialize_a_srgb_value(builder, *drop_shadow.color); serialize_a_srgb_value(builder, *drop_shadow.color);
@ -1251,7 +1251,7 @@ DeprecatedString FilterValueListStyleValue::to_deprecated_string() const
if (hue_rotate.angle.has_value()) { if (hue_rotate.angle.has_value()) {
hue_rotate.angle->visit( hue_rotate.angle->visit(
[&](Angle const& angle) { [&](Angle const& angle) {
builder.append(angle.to_deprecated_string()); builder.append(angle.to_string().release_value());
}, },
[&](auto&) { [&](auto&) {
builder.append('0'); builder.append('0');
@ -1281,12 +1281,12 @@ DeprecatedString FilterValueListStyleValue::to_deprecated_string() const
} }
}()); }());
if (color.amount.has_value()) if (color.amount.has_value())
builder.append(color.amount->to_deprecated_string()); builder.append(color.amount->to_string().release_value());
}); });
builder.append(')'); builder.append(')');
first = false; first = false;
} }
return builder.to_deprecated_string(); return builder.to_string();
} }
static bool operator==(Filter::Blur const& a, Filter::Blur const& b) static bool operator==(Filter::Blur const& a, Filter::Blur const& b)
@ -1347,9 +1347,9 @@ bool FilterValueListStyleValue::equals(StyleValue const& other) const
return true; return true;
} }
DeprecatedString FlexStyleValue::to_deprecated_string() const ErrorOr<String> FlexStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {} {}", m_grow->to_deprecated_string(), m_shrink->to_deprecated_string(), m_basis->to_deprecated_string()); return String::formatted("{} {} {}", TRY(m_grow->to_string()), TRY(m_shrink->to_string()), TRY(m_basis->to_string()));
} }
bool FlexStyleValue::equals(StyleValue const& other) const bool FlexStyleValue::equals(StyleValue const& other) const
@ -1362,9 +1362,9 @@ bool FlexStyleValue::equals(StyleValue const& other) const
&& m_basis->equals(typed_other.m_basis); && m_basis->equals(typed_other.m_basis);
} }
DeprecatedString FlexFlowStyleValue::to_deprecated_string() const ErrorOr<String> FlexFlowStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {}", m_flex_direction->to_deprecated_string(), m_flex_wrap->to_deprecated_string()); return String::formatted("{} {}", TRY(m_flex_direction->to_string()), TRY(m_flex_wrap->to_string()));
} }
bool FlexFlowStyleValue::equals(StyleValue const& other) const bool FlexFlowStyleValue::equals(StyleValue const& other) const
@ -1376,9 +1376,9 @@ bool FlexFlowStyleValue::equals(StyleValue const& other) const
&& m_flex_wrap->equals(typed_other.m_flex_wrap); && m_flex_wrap->equals(typed_other.m_flex_wrap);
} }
DeprecatedString FontStyleValue::to_deprecated_string() const ErrorOr<String> FontStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {} {} / {} {}", m_font_style->to_deprecated_string(), m_font_weight->to_deprecated_string(), m_font_size->to_deprecated_string(), m_line_height->to_deprecated_string(), m_font_families->to_deprecated_string()); return String::formatted("{} {} {} / {} {}", TRY(m_font_style->to_string()), TRY(m_font_weight->to_string()), TRY(m_font_size->to_string()), TRY(m_line_height->to_string()), TRY(m_font_families->to_string()));
} }
bool FontStyleValue::equals(StyleValue const& other) const bool FontStyleValue::equals(StyleValue const& other) const
@ -1400,11 +1400,11 @@ bool FrequencyStyleValue::equals(StyleValue const& other) const
return m_frequency == other.as_frequency().m_frequency; return m_frequency == other.as_frequency().m_frequency;
} }
DeprecatedString GridTrackPlacementShorthandStyleValue::to_deprecated_string() const ErrorOr<String> GridTrackPlacementShorthandStyleValue::to_string() const
{ {
if (m_end->grid_track_placement().is_auto()) if (m_end->grid_track_placement().is_auto())
return DeprecatedString::formatted("{}", m_start->grid_track_placement().to_deprecated_string()); return String::formatted("{}", TRY(m_start->grid_track_placement().to_string()));
return DeprecatedString::formatted("{} / {}", m_start->grid_track_placement().to_deprecated_string(), m_end->grid_track_placement().to_deprecated_string()); return String::formatted("{} / {}", TRY(m_start->grid_track_placement().to_string()), TRY(m_end->grid_track_placement().to_string()));
} }
bool GridTrackPlacementShorthandStyleValue::equals(StyleValue const& other) const bool GridTrackPlacementShorthandStyleValue::equals(StyleValue const& other) const
@ -1416,9 +1416,9 @@ bool GridTrackPlacementShorthandStyleValue::equals(StyleValue const& other) cons
&& m_end->equals(typed_other.m_end); && m_end->equals(typed_other.m_end);
} }
DeprecatedString GridTrackPlacementStyleValue::to_deprecated_string() const ErrorOr<String> GridTrackPlacementStyleValue::to_string() const
{ {
return m_grid_track_placement.to_deprecated_string(); return m_grid_track_placement.to_string();
} }
bool GridTrackPlacementStyleValue::equals(StyleValue const& other) const bool GridTrackPlacementStyleValue::equals(StyleValue const& other) const
@ -1429,9 +1429,9 @@ bool GridTrackPlacementStyleValue::equals(StyleValue const& other) const
return m_grid_track_placement == typed_other.grid_track_placement(); return m_grid_track_placement == typed_other.grid_track_placement();
} }
DeprecatedString GridTrackSizeStyleValue::to_deprecated_string() const ErrorOr<String> GridTrackSizeStyleValue::to_string() const
{ {
return m_grid_track_size_list.to_deprecated_string(); return m_grid_track_size_list.to_string();
} }
bool GridTrackSizeStyleValue::equals(StyleValue const& other) const bool GridTrackSizeStyleValue::equals(StyleValue const& other) const
@ -1442,9 +1442,9 @@ bool GridTrackSizeStyleValue::equals(StyleValue const& other) const
return m_grid_track_size_list == typed_other.grid_track_size_list(); return m_grid_track_size_list == typed_other.grid_track_size_list();
} }
DeprecatedString IdentifierStyleValue::to_deprecated_string() const ErrorOr<String> IdentifierStyleValue::to_string() const
{ {
return CSS::string_from_value_id(m_id); return String::from_utf8(CSS::string_from_value_id(m_id));
} }
bool IdentifierStyleValue::equals(StyleValue const& other) const bool IdentifierStyleValue::equals(StyleValue const& other) const
@ -1706,9 +1706,9 @@ Gfx::Bitmap const* ImageStyleValue::bitmap(size_t frame_index) const
return resource()->bitmap(frame_index); return resource()->bitmap(frame_index);
} }
DeprecatedString ImageStyleValue::to_deprecated_string() const ErrorOr<String> ImageStyleValue::to_string() const
{ {
return serialize_a_url(m_url.to_deprecated_string()); return String::from_deprecated_string(serialize_a_url(m_url.to_deprecated_string()));
} }
bool ImageStyleValue::equals(StyleValue const& other) const bool ImageStyleValue::equals(StyleValue const& other) const
@ -1746,22 +1746,22 @@ static void serialize_color_stop_list(StringBuilder& builder, auto const& color_
builder.append(", "sv); builder.append(", "sv);
if (element.transition_hint.has_value()) { if (element.transition_hint.has_value()) {
builder.appendff("{}, "sv, element.transition_hint->value.to_deprecated_string()); builder.appendff("{}, "sv, element.transition_hint->value.to_string());
} }
serialize_a_srgb_value(builder, element.color_stop.color); serialize_a_srgb_value(builder, element.color_stop.color);
for (auto position : Array { &element.color_stop.position, &element.color_stop.second_position }) { for (auto position : Array { &element.color_stop.position, &element.color_stop.second_position }) {
if (position->has_value()) if (position->has_value())
builder.appendff(" {}"sv, (*position)->to_deprecated_string()); builder.appendff(" {}"sv, (*position)->to_string());
} }
first = false; first = false;
} }
} }
DeprecatedString LinearGradientStyleValue::to_deprecated_string() const ErrorOr<String> LinearGradientStyleValue::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
auto side_or_corner_to_deprecated_string = [](SideOrCorner value) { auto side_or_corner_to_string = [](SideOrCorner value) {
switch (value) { switch (value) {
case SideOrCorner::Top: case SideOrCorner::Top:
return "top"sv; return "top"sv;
@ -1791,15 +1791,15 @@ DeprecatedString LinearGradientStyleValue::to_deprecated_string() const
builder.append("linear-gradient("sv); builder.append("linear-gradient("sv);
m_direction.visit( m_direction.visit(
[&](SideOrCorner side_or_corner) { [&](SideOrCorner side_or_corner) {
builder.appendff("{}{}, "sv, m_gradient_type == GradientType::Standard ? "to "sv : ""sv, side_or_corner_to_deprecated_string(side_or_corner)); builder.appendff("{}{}, "sv, m_gradient_type == GradientType::Standard ? "to "sv : ""sv, side_or_corner_to_string(side_or_corner));
}, },
[&](Angle const& angle) { [&](Angle const& angle) {
builder.appendff("{}, "sv, angle.to_deprecated_string()); builder.appendff("{}, "sv, angle.to_string());
}); });
serialize_color_stop_list(builder, m_color_stop_list); serialize_color_stop_list(builder, m_color_stop_list);
builder.append(")"sv); builder.append(")"sv);
return builder.to_deprecated_string(); return builder.to_string();
} }
static bool operator==(LinearGradientStyleValue::GradientDirection const& a, LinearGradientStyleValue::GradientDirection const& b) static bool operator==(LinearGradientStyleValue::GradientDirection const& a, LinearGradientStyleValue::GradientDirection const& b)
@ -1947,7 +1947,7 @@ void PositionValue::serialize(StringBuilder& builder) const
}()); }());
}, },
[&](LengthPercentage length_percentage) { [&](LengthPercentage length_percentage) {
builder.append(length_percentage.to_deprecated_string()); builder.append(length_percentage.to_string().release_value_but_fixme_should_propagate_errors());
}); });
builder.append(' '); builder.append(' ');
if (has_relative_edges) if (has_relative_edges)
@ -1968,7 +1968,7 @@ void PositionValue::serialize(StringBuilder& builder) const
}()); }());
}, },
[&](LengthPercentage length_percentage) { [&](LengthPercentage length_percentage) {
builder.append(length_percentage.to_deprecated_string()); builder.append(length_percentage.to_string().release_value_but_fixme_should_propagate_errors());
}); });
} }
@ -1981,7 +1981,7 @@ bool PositionValue::operator==(PositionValue const& other) const
&& variant_equals(vertical_position, other.vertical_position)); && variant_equals(vertical_position, other.vertical_position));
} }
DeprecatedString RadialGradientStyleValue::to_deprecated_string() const ErrorOr<String> RadialGradientStyleValue::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
if (is_repeating()) if (is_repeating())
@ -2006,8 +2006,8 @@ DeprecatedString RadialGradientStyleValue::to_deprecated_string() const
} }
}()); }());
}, },
[&](CircleSize const& circle_size) { builder.append(circle_size.radius.to_deprecated_string()); }, [&](CircleSize const& circle_size) { builder.append(circle_size.radius.to_string().release_value()); },
[&](EllipseSize const& ellipse_size) { builder.appendff("{} {}", ellipse_size.radius_a.to_deprecated_string(), ellipse_size.radius_b.to_deprecated_string()); }); [&](EllipseSize const& ellipse_size) { builder.appendff("{} {}", ellipse_size.radius_a.to_string(), ellipse_size.radius_b.to_string()); });
if (m_position != PositionValue::center()) { if (m_position != PositionValue::center()) {
builder.appendff(" at "sv); builder.appendff(" at "sv);
@ -2017,7 +2017,7 @@ DeprecatedString RadialGradientStyleValue::to_deprecated_string() const
builder.append(", "sv); builder.append(", "sv);
serialize_color_stop_list(builder, m_color_stop_list); serialize_color_stop_list(builder, m_color_stop_list);
builder.append(')'); builder.append(')');
return builder.to_deprecated_string(); return builder.to_string();
} }
Gfx::FloatSize RadialGradientStyleValue::resolve_size(Layout::Node const& node, Gfx::FloatPoint center, Gfx::FloatRect const& size) const Gfx::FloatSize RadialGradientStyleValue::resolve_size(Layout::Node const& node, Gfx::FloatPoint center, Gfx::FloatRect const& size) const
@ -2183,7 +2183,7 @@ void RadialGradientStyleValue::paint(PaintContext& context, DevicePixelRect cons
context.rounded_device_size(m_resolved->gradient_size.to_type<CSSPixels>())); context.rounded_device_size(m_resolved->gradient_size.to_type<CSSPixels>()));
} }
DeprecatedString ConicGradientStyleValue::to_deprecated_string() const ErrorOr<String> ConicGradientStyleValue::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
if (is_repeating()) if (is_repeating())
@ -2192,7 +2192,7 @@ DeprecatedString ConicGradientStyleValue::to_deprecated_string() const
bool has_from_angle = false; bool has_from_angle = false;
bool has_at_position = false; bool has_at_position = false;
if ((has_from_angle = m_from_angle.to_degrees() != 0)) if ((has_from_angle = m_from_angle.to_degrees() != 0))
builder.appendff("from {}", m_from_angle.to_deprecated_string()); builder.appendff("from {}", TRY(m_from_angle.to_string()));
if ((has_at_position = m_position != PositionValue::center())) { if ((has_at_position = m_position != PositionValue::center())) {
if (has_from_angle) if (has_from_angle)
builder.append(' '); builder.append(' ');
@ -2203,7 +2203,7 @@ DeprecatedString ConicGradientStyleValue::to_deprecated_string() const
builder.append(", "sv); builder.append(", "sv);
serialize_color_stop_list(builder, m_color_stop_list); serialize_color_stop_list(builder, m_color_stop_list);
builder.append(')'); builder.append(')');
return builder.to_deprecated_string(); return builder.to_string();
} }
void ConicGradientStyleValue::resolve_for_size(Layout::Node const& node, CSSPixelSize size) const void ConicGradientStyleValue::resolve_for_size(Layout::Node const& node, CSSPixelSize size) const
@ -2252,9 +2252,9 @@ bool LengthStyleValue::equals(StyleValue const& other) const
return m_length == other.as_length().m_length; return m_length == other.as_length().m_length;
} }
DeprecatedString ListStyleStyleValue::to_deprecated_string() const ErrorOr<String> ListStyleStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {} {}", m_position->to_deprecated_string(), m_image->to_deprecated_string(), m_style_type->to_deprecated_string()); return String::formatted("{} {} {}", TRY(m_position->to_string()), TRY(m_image->to_string()), TRY(m_style_type->to_string()));
} }
bool ListStyleStyleValue::equals(StyleValue const& other) const bool ListStyleStyleValue::equals(StyleValue const& other) const
@ -2267,14 +2267,14 @@ bool ListStyleStyleValue::equals(StyleValue const& other) const
&& m_style_type->equals(typed_other.m_style_type); && m_style_type->equals(typed_other.m_style_type);
} }
DeprecatedString NumericStyleValue::to_deprecated_string() const ErrorOr<String> NumericStyleValue::to_string() const
{ {
return m_value.visit( return m_value.visit(
[](float value) { [](float value) {
return DeprecatedString::formatted("{}", value); return String::formatted("{}", value);
}, },
[](i64 value) { [](i64 value) {
return DeprecatedString::formatted("{}", value); return String::formatted("{}", value);
}); });
} }
@ -2289,9 +2289,9 @@ bool NumericStyleValue::equals(StyleValue const& other) const
return m_value.get<float>() == other.as_numeric().m_value.get<float>(); return m_value.get<float>() == other.as_numeric().m_value.get<float>();
} }
DeprecatedString OverflowStyleValue::to_deprecated_string() const ErrorOr<String> OverflowStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {}", m_overflow_x->to_deprecated_string(), m_overflow_y->to_deprecated_string()); return String::formatted("{} {}", TRY(m_overflow_x->to_string()), TRY(m_overflow_y->to_string()));
} }
bool OverflowStyleValue::equals(StyleValue const& other) const bool OverflowStyleValue::equals(StyleValue const& other) const
@ -2303,9 +2303,9 @@ bool OverflowStyleValue::equals(StyleValue const& other) const
&& m_overflow_y->equals(typed_other.m_overflow_y); && m_overflow_y->equals(typed_other.m_overflow_y);
} }
DeprecatedString PercentageStyleValue::to_deprecated_string() const ErrorOr<String> PercentageStyleValue::to_string() const
{ {
return m_percentage.to_deprecated_string(); return m_percentage.to_string();
} }
bool PercentageStyleValue::equals(StyleValue const& other) const bool PercentageStyleValue::equals(StyleValue const& other) const
@ -2315,9 +2315,9 @@ bool PercentageStyleValue::equals(StyleValue const& other) const
return m_percentage == other.as_percentage().m_percentage; return m_percentage == other.as_percentage().m_percentage;
} }
DeprecatedString PositionStyleValue::to_deprecated_string() const ErrorOr<String> PositionStyleValue::to_string() const
{ {
auto to_deprecated_string = [](PositionEdge edge) { auto to_string = [](PositionEdge edge) {
switch (edge) { switch (edge) {
case PositionEdge::Left: case PositionEdge::Left:
return "left"; return "left";
@ -2331,7 +2331,7 @@ DeprecatedString PositionStyleValue::to_deprecated_string() const
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
}; };
return DeprecatedString::formatted("{} {} {} {}", to_deprecated_string(m_edge_x), m_offset_x.to_deprecated_string(), to_deprecated_string(m_edge_y), m_offset_y.to_deprecated_string()); return String::formatted("{} {} {} {}", to_string(m_edge_x), m_offset_x.to_string(), to_string(m_edge_y), TRY(m_offset_y.to_string()));
} }
bool PositionStyleValue::equals(StyleValue const& other) const bool PositionStyleValue::equals(StyleValue const& other) const
@ -2345,9 +2345,9 @@ bool PositionStyleValue::equals(StyleValue const& other) const
&& m_offset_y == typed_other.m_offset_y; && m_offset_y == typed_other.m_offset_y;
} }
DeprecatedString RectStyleValue::to_deprecated_string() const ErrorOr<String> RectStyleValue::to_string() const
{ {
return DeprecatedString::formatted("rect({} {} {} {})", m_rect.top_edge, m_rect.right_edge, m_rect.bottom_edge, m_rect.left_edge); return String::formatted("rect({} {} {} {})", m_rect.top_edge, m_rect.right_edge, m_rect.bottom_edge, m_rect.left_edge);
} }
bool RectStyleValue::equals(StyleValue const& other) const bool RectStyleValue::equals(StyleValue const& other) const
@ -2365,13 +2365,13 @@ bool ResolutionStyleValue::equals(StyleValue const& other) const
return m_resolution == other.as_resolution().m_resolution; return m_resolution == other.as_resolution().m_resolution;
} }
DeprecatedString ShadowStyleValue::to_deprecated_string() const ErrorOr<String> ShadowStyleValue::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.appendff("{} {} {} {} {}", m_color.to_deprecated_string(), m_offset_x.to_deprecated_string(), m_offset_y.to_deprecated_string(), m_blur_radius.to_deprecated_string(), m_spread_distance.to_deprecated_string()); builder.appendff("{} {} {} {} {}", String::from_deprecated_string(m_color.to_deprecated_string()), TRY(m_offset_x.to_string()), TRY(m_offset_y.to_string()), TRY(m_blur_radius.to_string()), TRY(m_spread_distance.to_string()));
if (m_placement == ShadowPlacement::Inner) if (m_placement == ShadowPlacement::Inner)
builder.append(" inset"sv); builder.append(" inset"sv);
return builder.to_deprecated_string(); return builder.to_string();
} }
bool ShadowStyleValue::equals(StyleValue const& other) const bool ShadowStyleValue::equals(StyleValue const& other) const
@ -2394,9 +2394,9 @@ bool StringStyleValue::equals(StyleValue const& other) const
return m_string == other.as_string().m_string; return m_string == other.as_string().m_string;
} }
DeprecatedString TextDecorationStyleValue::to_deprecated_string() const ErrorOr<String> TextDecorationStyleValue::to_string() const
{ {
return DeprecatedString::formatted("{} {} {} {}", m_line->to_deprecated_string(), m_thickness->to_deprecated_string(), m_style->to_deprecated_string(), m_color->to_deprecated_string()); return String::formatted("{} {} {} {}", TRY(m_line->to_string()), TRY(m_thickness->to_string()), TRY(m_style->to_string()), TRY(m_color->to_string()));
} }
bool TextDecorationStyleValue::equals(StyleValue const& other) const bool TextDecorationStyleValue::equals(StyleValue const& other) const
@ -2417,7 +2417,7 @@ bool TimeStyleValue::equals(StyleValue const& other) const
return m_time == other.as_time().m_time; return m_time == other.as_time().m_time;
} }
DeprecatedString TransformationStyleValue::to_deprecated_string() const ErrorOr<String> TransformationStyleValue::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append(CSS::to_string(m_transform_function)); builder.append(CSS::to_string(m_transform_function));
@ -2425,7 +2425,7 @@ DeprecatedString TransformationStyleValue::to_deprecated_string() const
builder.join(", "sv, m_values); builder.join(", "sv, m_values);
builder.append(')'); builder.append(')');
return builder.to_deprecated_string(); return builder.to_string();
} }
bool TransformationStyleValue::equals(StyleValue const& other) const bool TransformationStyleValue::equals(StyleValue const& other) const
@ -2444,12 +2444,12 @@ bool TransformationStyleValue::equals(StyleValue const& other) const
return true; return true;
} }
DeprecatedString UnresolvedStyleValue::to_deprecated_string() const ErrorOr<String> UnresolvedStyleValue::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
for (auto& value : m_values) for (auto& value : m_values)
builder.append(value.to_deprecated_string()); builder.append(String::from_deprecated_string(value.to_deprecated_string()).release_value());
return builder.to_deprecated_string(); return builder.to_string();
} }
bool UnresolvedStyleValue::equals(StyleValue const& other) const bool UnresolvedStyleValue::equals(StyleValue const& other) const
@ -2457,7 +2457,7 @@ bool UnresolvedStyleValue::equals(StyleValue const& other) const
if (type() != other.type()) if (type() != other.type())
return false; return false;
// This is a case where comparing the strings actually makes sense. // This is a case where comparing the strings actually makes sense.
return to_deprecated_string() == other.to_deprecated_string(); return to_string().release_value_but_fixme_should_propagate_errors() == other.to_string().release_value_but_fixme_should_propagate_errors();
} }
bool UnsetStyleValue::equals(StyleValue const& other) const bool UnsetStyleValue::equals(StyleValue const& other) const
@ -2465,21 +2465,21 @@ bool UnsetStyleValue::equals(StyleValue const& other) const
return type() == other.type(); return type() == other.type();
} }
DeprecatedString StyleValueList::to_deprecated_string() const ErrorOr<String> StyleValueList::to_string() const
{ {
DeprecatedString separator = ""; auto separator = ""sv;
switch (m_separator) { switch (m_separator) {
case Separator::Space: case Separator::Space:
separator = " "; separator = " "sv;
break; break;
case Separator::Comma: case Separator::Comma:
separator = ", "; separator = ", "sv;
break; break;
default: default:
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
return DeprecatedString::join(separator, m_values); return String::from_deprecated_string(DeprecatedString::join(separator, m_values));
} }
bool StyleValueList::equals(StyleValue const& other) const bool StyleValueList::equals(StyleValue const& other) const

View file

@ -16,6 +16,7 @@
#include <AK/NonnullRefPtrVector.h> #include <AK/NonnullRefPtrVector.h>
#include <AK/RefCounted.h> #include <AK/RefCounted.h>
#include <AK/RefPtr.h> #include <AK/RefPtr.h>
#include <AK/String.h>
#include <AK/StringView.h> #include <AK/StringView.h>
#include <AK/URL.h> #include <AK/URL.h>
#include <AK/Variant.h> #include <AK/Variant.h>
@ -403,7 +404,7 @@ public:
virtual Length to_length() const { VERIFY_NOT_REACHED(); } virtual Length to_length() const { VERIFY_NOT_REACHED(); }
virtual float to_number() const { return 0; } virtual float to_number() const { return 0; }
virtual float to_integer() const { return 0; } virtual float to_integer() const { return 0; }
virtual DeprecatedString to_deprecated_string() const = 0; virtual ErrorOr<String> to_string() const = 0;
bool operator==(StyleValue const& other) const { return equals(other); } bool operator==(StyleValue const& other) const { return equals(other); }
@ -426,7 +427,7 @@ public:
Angle const& angle() const { return m_angle; } Angle const& angle() const { return m_angle; }
virtual DeprecatedString to_deprecated_string() const override { return m_angle.to_deprecated_string(); } virtual ErrorOr<String> to_string() const override { return m_angle.to_string(); }
virtual bool equals(StyleValue const& other) const override virtual bool equals(StyleValue const& other) const override
{ {
@ -472,7 +473,7 @@ public:
NonnullRefPtr<StyleValue> repeat() const { return m_repeat; } NonnullRefPtr<StyleValue> repeat() const { return m_repeat; }
NonnullRefPtr<StyleValue> size() const { return m_size; } NonnullRefPtr<StyleValue> size() const { return m_size; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -509,7 +510,7 @@ public:
Repeat repeat_x() const { return m_repeat_x; } Repeat repeat_x() const { return m_repeat_x; }
Repeat repeat_y() const { return m_repeat_y; } Repeat repeat_y() const { return m_repeat_y; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -536,7 +537,7 @@ public:
LengthPercentage size_x() const { return m_size_x; } LengthPercentage size_x() const { return m_size_x; }
LengthPercentage size_y() const { return m_size_y; } LengthPercentage size_y() const { return m_size_y; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -566,7 +567,7 @@ public:
NonnullRefPtr<StyleValue> border_style() const { return m_border_style; } NonnullRefPtr<StyleValue> border_style() const { return m_border_style; }
NonnullRefPtr<StyleValue> border_color() const { return m_border_color; } NonnullRefPtr<StyleValue> border_color() const { return m_border_color; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -598,7 +599,7 @@ public:
LengthPercentage const& vertical_radius() const { return m_vertical_radius; } LengthPercentage const& vertical_radius() const { return m_vertical_radius; }
bool is_elliptical() const { return m_is_elliptical; } bool is_elliptical() const { return m_is_elliptical; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -630,7 +631,7 @@ public:
NonnullRefPtr<BorderRadiusStyleValue> bottom_right() const { return m_bottom_right; } NonnullRefPtr<BorderRadiusStyleValue> bottom_right() const { return m_bottom_right; }
NonnullRefPtr<BorderRadiusStyleValue> bottom_left() const { return m_bottom_left; } NonnullRefPtr<BorderRadiusStyleValue> bottom_left() const { return m_bottom_left; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -702,14 +703,14 @@ public:
struct CalcNumberValue { struct CalcNumberValue {
Variant<Number, NonnullOwnPtr<CalcNumberSum>> value; Variant<Number, NonnullOwnPtr<CalcNumberSum>> value;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
}; };
struct CalcValue { struct CalcValue {
Variant<Number, Angle, Frequency, Length, Percentage, Time, NonnullOwnPtr<CalcSum>> value; Variant<Number, Angle, Frequency, Length, Percentage, Time, NonnullOwnPtr<CalcSum>> value;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
bool contains_percentage() const; bool contains_percentage() const;
@ -724,7 +725,7 @@ public:
NonnullOwnPtr<CalcProduct> first_calc_product; NonnullOwnPtr<CalcProduct> first_calc_product;
NonnullOwnPtrVector<CalcSumPartWithOperator> zero_or_more_additional_calc_products; NonnullOwnPtrVector<CalcSumPartWithOperator> zero_or_more_additional_calc_products;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
@ -739,7 +740,7 @@ public:
NonnullOwnPtr<CalcNumberProduct> first_calc_number_product; NonnullOwnPtr<CalcNumberProduct> first_calc_number_product;
NonnullOwnPtrVector<CalcNumberSumPartWithOperator> zero_or_more_additional_calc_number_products; NonnullOwnPtrVector<CalcNumberSumPartWithOperator> zero_or_more_additional_calc_number_products;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
}; };
@ -748,7 +749,7 @@ public:
CalcValue first_calc_value; CalcValue first_calc_value;
NonnullOwnPtrVector<CalcProductPartWithOperator> zero_or_more_additional_calc_values; NonnullOwnPtrVector<CalcProductPartWithOperator> zero_or_more_additional_calc_values;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
bool contains_percentage() const; bool contains_percentage() const;
@ -762,7 +763,7 @@ public:
SumOperation op; SumOperation op;
NonnullOwnPtr<CalcProduct> value; NonnullOwnPtr<CalcProduct> value;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
bool contains_percentage() const; bool contains_percentage() const;
@ -772,7 +773,7 @@ public:
ProductOperation op; ProductOperation op;
Variant<CalcValue, CalcNumberValue> value; Variant<CalcValue, CalcNumberValue> value;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
@ -783,7 +784,7 @@ public:
CalcNumberValue first_calc_number_value; CalcNumberValue first_calc_number_value;
NonnullOwnPtrVector<CalcNumberProductPartWithOperator> zero_or_more_additional_calc_number_values; NonnullOwnPtrVector<CalcNumberProductPartWithOperator> zero_or_more_additional_calc_number_values;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
}; };
@ -792,7 +793,7 @@ public:
ProductOperation op; ProductOperation op;
CalcNumberValue value; CalcNumberValue value;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
}; };
@ -805,7 +806,7 @@ public:
SumOperation op; SumOperation op;
NonnullOwnPtr<CalcNumberProduct> value; NonnullOwnPtr<CalcNumberProduct> value;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
Optional<ResolvedType> resolved_type() const; Optional<ResolvedType> resolved_type() const;
CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const; CalculationResult resolve(Layout::Node const*, PercentageBasis const& percentage_basis) const;
}; };
@ -815,7 +816,7 @@ public:
return adopt_ref(*new CalculatedStyleValue(move(calc_sum), resolved_type)); return adopt_ref(*new CalculatedStyleValue(move(calc_sum), resolved_type));
} }
DeprecatedString to_deprecated_string() const override; ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
ResolvedType resolved_type() const { return m_resolved_type; } ResolvedType resolved_type() const { return m_resolved_type; }
NonnullOwnPtr<CalcSum> const& expression() const { return m_expression; } NonnullOwnPtr<CalcSum> const& expression() const { return m_expression; }
@ -864,7 +865,7 @@ public:
virtual ~ColorStyleValue() override = default; virtual ~ColorStyleValue() override = default;
Color color() const { return m_color; } Color color() const { return m_color; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool has_color() const override { return true; } virtual bool has_color() const override { return true; }
virtual Color to_color(Layout::NodeWithStyle const&) const override { return m_color; } virtual Color to_color(Layout::NodeWithStyle const&) const override { return m_color; }
@ -891,7 +892,7 @@ public:
bool has_alt_text() const { return !m_alt_text.is_null(); } bool has_alt_text() const { return !m_alt_text.is_null(); }
StyleValueList const* alt_text() const { return m_alt_text; } StyleValueList const* alt_text() const { return m_alt_text; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -917,7 +918,7 @@ public:
Vector<FilterFunction> const& filter_value_list() const { return m_filter_value_list; } Vector<FilterFunction> const& filter_value_list() const { return m_filter_value_list; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
virtual ~FilterValueListStyleValue() override = default; virtual ~FilterValueListStyleValue() override = default;
@ -948,7 +949,7 @@ public:
NonnullRefPtr<StyleValue> shrink() const { return m_shrink; } NonnullRefPtr<StyleValue> shrink() const { return m_shrink; }
NonnullRefPtr<StyleValue> basis() const { return m_basis; } NonnullRefPtr<StyleValue> basis() const { return m_basis; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -979,7 +980,7 @@ public:
NonnullRefPtr<StyleValue> flex_direction() const { return m_flex_direction; } NonnullRefPtr<StyleValue> flex_direction() const { return m_flex_direction; }
NonnullRefPtr<StyleValue> flex_wrap() const { return m_flex_wrap; } NonnullRefPtr<StyleValue> flex_wrap() const { return m_flex_wrap; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1005,7 +1006,7 @@ public:
NonnullRefPtr<StyleValue> line_height() const { return m_line_height; } NonnullRefPtr<StyleValue> line_height() const { return m_line_height; }
NonnullRefPtr<StyleValue> font_families() const { return m_font_families; } NonnullRefPtr<StyleValue> font_families() const { return m_font_families; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1037,7 +1038,7 @@ public:
Frequency const& frequency() const { return m_frequency; } Frequency const& frequency() const { return m_frequency; }
virtual DeprecatedString to_deprecated_string() const override { return m_frequency.to_deprecated_string(); } virtual ErrorOr<String> to_string() const override { return m_frequency.to_string(); }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1056,7 +1057,7 @@ public:
virtual ~GridTrackPlacementStyleValue() override = default; virtual ~GridTrackPlacementStyleValue() override = default;
CSS::GridTrackPlacement const& grid_track_placement() const { return m_grid_track_placement; } CSS::GridTrackPlacement const& grid_track_placement() const { return m_grid_track_placement; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1084,7 +1085,7 @@ public:
NonnullRefPtr<GridTrackPlacementStyleValue> start() const { return m_start; } NonnullRefPtr<GridTrackPlacementStyleValue> start() const { return m_start; }
NonnullRefPtr<GridTrackPlacementStyleValue> end() const { return m_end; } NonnullRefPtr<GridTrackPlacementStyleValue> end() const { return m_end; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1108,7 +1109,7 @@ public:
CSS::GridTrackSizeList grid_track_size_list() const { return m_grid_track_size_list; } CSS::GridTrackSizeList grid_track_size_list() const { return m_grid_track_size_list; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1136,7 +1137,7 @@ public:
virtual CSS::ValueID to_identifier() const override { return m_id; } virtual CSS::ValueID to_identifier() const override { return m_id; }
virtual bool has_color() const override; virtual bool has_color() const override;
virtual Color to_color(Layout::NodeWithStyle const& node) const override; virtual Color to_color(Layout::NodeWithStyle const& node) const override;
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1170,7 +1171,7 @@ public:
static NonnullRefPtr<ImageStyleValue> create(AK::URL const& url) { return adopt_ref(*new ImageStyleValue(url)); } static NonnullRefPtr<ImageStyleValue> create(AK::URL const& url) { return adopt_ref(*new ImageStyleValue(url)); }
virtual ~ImageStyleValue() override = default; virtual ~ImageStyleValue() override = default;
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
virtual void load_any_resources(DOM::Document&) override; virtual void load_any_resources(DOM::Document&) override;
@ -1238,7 +1239,7 @@ public:
return adopt_ref(*new RadialGradientStyleValue(ending_shape, size, position, move(color_stop_list), repeating)); return adopt_ref(*new RadialGradientStyleValue(ending_shape, size, position, move(color_stop_list), repeating));
} }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
void paint(PaintContext&, DevicePixelRect const& dest_rect, CSS::ImageRendering) const override; void paint(PaintContext&, DevicePixelRect const& dest_rect, CSS::ImageRendering) const override;
@ -1293,7 +1294,7 @@ public:
return adopt_ref(*new ConicGradientStyleValue(from_angle, position, move(color_stop_list), repeating)); return adopt_ref(*new ConicGradientStyleValue(from_angle, position, move(color_stop_list), repeating));
} }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
void paint(PaintContext&, DevicePixelRect const& dest_rect, CSS::ImageRendering) const override; void paint(PaintContext&, DevicePixelRect const& dest_rect, CSS::ImageRendering) const override;
@ -1355,7 +1356,7 @@ public:
return adopt_ref(*new LinearGradientStyleValue(direction, move(color_stop_list), type, repeating)); return adopt_ref(*new LinearGradientStyleValue(direction, move(color_stop_list), type, repeating));
} }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual ~LinearGradientStyleValue() override = default; virtual ~LinearGradientStyleValue() override = default;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
@ -1405,7 +1406,7 @@ public:
} }
virtual ~InheritStyleValue() override = default; virtual ~InheritStyleValue() override = default;
DeprecatedString to_deprecated_string() const override { return "inherit"; } ErrorOr<String> to_string() const override { return String::from_utf8("inherit"sv); }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1424,7 +1425,7 @@ public:
} }
virtual ~InitialStyleValue() override = default; virtual ~InitialStyleValue() override = default;
DeprecatedString to_deprecated_string() const override { return "initial"; } ErrorOr<String> to_string() const override { return String::from_utf8("initial"sv); }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1444,7 +1445,7 @@ public:
virtual bool has_auto() const override { return m_length.is_auto(); } virtual bool has_auto() const override { return m_length.is_auto(); }
virtual bool has_length() const override { return true; } virtual bool has_length() const override { return true; }
virtual bool has_identifier() const override { return has_auto(); } virtual bool has_identifier() const override { return has_auto(); }
virtual DeprecatedString to_deprecated_string() const override { return m_length.to_deprecated_string(); } virtual ErrorOr<String> to_string() const override { return m_length.to_string(); }
virtual Length to_length() const override { return m_length; } virtual Length to_length() const override { return m_length; }
virtual ValueID to_identifier() const override { return has_auto() ? ValueID::Auto : ValueID::Invalid; } virtual ValueID to_identifier() const override { return has_auto() ? ValueID::Auto : ValueID::Invalid; }
virtual NonnullRefPtr<StyleValue> absolutized(CSSPixelRect const& viewport_rect, Gfx::FontPixelMetrics const& font_metrics, CSSPixels font_size, CSSPixels root_font_size) const override; virtual NonnullRefPtr<StyleValue> absolutized(CSSPixelRect const& viewport_rect, Gfx::FontPixelMetrics const& font_metrics, CSSPixels font_size, CSSPixels root_font_size) const override;
@ -1475,7 +1476,7 @@ public:
NonnullRefPtr<StyleValue> image() const { return m_image; } NonnullRefPtr<StyleValue> image() const { return m_image; }
NonnullRefPtr<StyleValue> style_type() const { return m_style_type; } NonnullRefPtr<StyleValue> style_type() const { return m_style_type; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1521,7 +1522,7 @@ public:
virtual bool has_integer() const override { return m_value.has<i64>(); } virtual bool has_integer() const override { return m_value.has<i64>(); }
virtual float to_integer() const override { return m_value.get<i64>(); } virtual float to_integer() const override { return m_value.get<i64>(); }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1545,7 +1546,7 @@ public:
NonnullRefPtr<StyleValue> overflow_x() const { return m_overflow_x; } NonnullRefPtr<StyleValue> overflow_x() const { return m_overflow_x; }
NonnullRefPtr<StyleValue> overflow_y() const { return m_overflow_y; } NonnullRefPtr<StyleValue> overflow_y() const { return m_overflow_y; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1571,7 +1572,7 @@ public:
Percentage const& percentage() const { return m_percentage; } Percentage const& percentage() const { return m_percentage; }
Percentage& percentage() { return m_percentage; } Percentage& percentage() { return m_percentage; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1597,7 +1598,7 @@ public:
PositionEdge edge_y() const { return m_edge_y; } PositionEdge edge_y() const { return m_edge_y; }
LengthPercentage const& offset_y() const { return m_offset_y; } LengthPercentage const& offset_y() const { return m_offset_y; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1626,7 +1627,7 @@ public:
Resolution const& resolution() const { return m_resolution; } Resolution const& resolution() const { return m_resolution; }
virtual DeprecatedString to_deprecated_string() const override { return m_resolution.to_deprecated_string(); } virtual ErrorOr<String> to_string() const override { return m_resolution.to_string(); }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1655,7 +1656,7 @@ public:
Length const& spread_distance() const { return m_spread_distance; } Length const& spread_distance() const { return m_spread_distance; }
ShadowPlacement placement() const { return m_placement; } ShadowPlacement placement() const { return m_placement; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1682,23 +1683,23 @@ private:
class StringStyleValue : public StyleValue { class StringStyleValue : public StyleValue {
public: public:
static NonnullRefPtr<StringStyleValue> create(DeprecatedString const& string) static NonnullRefPtr<StringStyleValue> create(String const& string)
{ {
return adopt_ref(*new StringStyleValue(string)); return adopt_ref(*new StringStyleValue(string));
} }
virtual ~StringStyleValue() override = default; virtual ~StringStyleValue() override = default;
DeprecatedString to_deprecated_string() const override { return m_string; } ErrorOr<String> to_string() const override { return m_string; }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
explicit StringStyleValue(DeprecatedString const& string) explicit StringStyleValue(String const& string)
: StyleValue(Type::String) : StyleValue(Type::String)
, m_string(string) , m_string(string)
{ {
} }
DeprecatedString m_string; String m_string;
}; };
class TextDecorationStyleValue final : public StyleValue { class TextDecorationStyleValue final : public StyleValue {
@ -1718,7 +1719,7 @@ public:
NonnullRefPtr<StyleValue> style() const { return m_style; } NonnullRefPtr<StyleValue> style() const { return m_style; }
NonnullRefPtr<StyleValue> color() const { return m_color; } NonnullRefPtr<StyleValue> color() const { return m_color; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1751,7 +1752,7 @@ public:
Time const& time() const { return m_time; } Time const& time() const { return m_time; }
virtual DeprecatedString to_deprecated_string() const override { return m_time.to_deprecated_string(); } virtual ErrorOr<String> to_string() const override { return m_time.to_string(); }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1775,7 +1776,7 @@ public:
CSS::TransformFunction transform_function() const { return m_transform_function; } CSS::TransformFunction transform_function() const { return m_transform_function; }
NonnullRefPtrVector<StyleValue> values() const { return m_values; } NonnullRefPtrVector<StyleValue> values() const { return m_values; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1798,7 +1799,7 @@ public:
} }
virtual ~UnresolvedStyleValue() override = default; virtual ~UnresolvedStyleValue() override = default;
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
Vector<Parser::ComponentValue> const& values() const { return m_values; } Vector<Parser::ComponentValue> const& values() const { return m_values; }
@ -1825,7 +1826,7 @@ public:
} }
virtual ~UnsetStyleValue() override = default; virtual ~UnsetStyleValue() override = default;
DeprecatedString to_deprecated_string() const override { return "unset"; } ErrorOr<String> to_string() const override { return String::from_utf8("unset"sv); }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1852,7 +1853,7 @@ public:
return m_values[i]; return m_values[i];
} }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
private: private:
@ -1873,7 +1874,7 @@ public:
virtual ~RectStyleValue() override = default; virtual ~RectStyleValue() override = default;
EdgeRect rect() const { return m_rect; } EdgeRect rect() const { return m_rect; }
virtual DeprecatedString to_deprecated_string() const override; virtual ErrorOr<String> to_string() const override;
virtual bool has_rect() const override { return true; } virtual bool has_rect() const override { return true; }
virtual EdgeRect to_rect() const override { return m_rect; } virtual EdgeRect to_rect() const override { return m_rect; }
virtual bool equals(StyleValue const& other) const override; virtual bool equals(StyleValue const& other) const override;
@ -1894,6 +1895,6 @@ template<>
struct AK::Formatter<Web::CSS::StyleValue> : Formatter<StringView> { struct AK::Formatter<Web::CSS::StyleValue> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::StyleValue const& style_value) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::StyleValue const& style_value)
{ {
return Formatter<StringView>::format(builder, style_value.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(style_value.to_string()));
} }
}; };

View file

@ -40,11 +40,11 @@ Time Time::percentage_of(Percentage const& percentage) const
return Time { percentage.as_fraction() * m_value, m_type }; return Time { percentage.as_fraction() * m_value, m_type };
} }
DeprecatedString Time::to_deprecated_string() const ErrorOr<String> Time::to_string() const
{ {
if (is_calculated()) if (is_calculated())
return m_calculated_style->to_deprecated_string(); return m_calculated_style->to_string();
return DeprecatedString::formatted("{}{}", m_value, unit_name()); return String::formatted("{}{}", m_value, unit_name());
} }
float Time::to_seconds() const float Time::to_seconds() const

View file

@ -6,8 +6,8 @@
#pragma once #pragma once
#include <AK/DeprecatedString.h>
#include <AK/RefPtr.h> #include <AK/RefPtr.h>
#include <AK/String.h>
#include <LibWeb/Forward.h> #include <LibWeb/Forward.h>
namespace Web::CSS { namespace Web::CSS {
@ -31,7 +31,7 @@ public:
bool is_calculated() const { return m_type == Type::Calculated; } bool is_calculated() const { return m_type == Type::Calculated; }
NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const; NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const;
DeprecatedString to_deprecated_string() const; ErrorOr<String> to_string() const;
float to_seconds() const; float to_seconds() const;
bool operator==(Time const& other) const bool operator==(Time const& other) const
@ -55,6 +55,6 @@ template<>
struct AK::Formatter<Web::CSS::Time> : Formatter<StringView> { struct AK::Formatter<Web::CSS::Time> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Time const& time) ErrorOr<void> format(FormatBuilder& builder, Web::CSS::Time const& time)
{ {
return Formatter<StringView>::format(builder, time.to_deprecated_string()); return Formatter<StringView>::format(builder, TRY(time.to_string()));
} }
}; };

View file

@ -283,7 +283,7 @@ void dump_tree(StringBuilder& builder, Layout::Node const& layout_node, bool sho
}; };
Vector<NameAndValue> properties; Vector<NameAndValue> properties;
verify_cast<DOM::Element>(*layout_node.dom_node()).computed_css_values()->for_each_property([&](auto property_id, auto& value) { verify_cast<DOM::Element>(*layout_node.dom_node()).computed_css_values()->for_each_property([&](auto property_id, auto& value) {
properties.append({ CSS::string_from_property_id(property_id), value.to_deprecated_string() }); properties.append({ CSS::string_from_property_id(property_id), value.to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string() });
}); });
quick_sort(properties, [](auto& a, auto& b) { return a.name < b.name; }); quick_sort(properties, [](auto& a, auto& b) { return a.name < b.name; });
@ -642,14 +642,14 @@ void dump_style_rule(StringBuilder& builder, CSS::CSSStyleRule const& rule, int
auto& style_declaration = verify_cast<CSS::PropertyOwningCSSStyleDeclaration>(rule.declaration()); auto& style_declaration = verify_cast<CSS::PropertyOwningCSSStyleDeclaration>(rule.declaration());
for (auto& property : style_declaration.properties()) { for (auto& property : style_declaration.properties()) {
indent(builder, indent_levels); indent(builder, indent_levels);
builder.appendff(" {}: '{}'", CSS::string_from_property_id(property.property_id), property.value->to_deprecated_string()); builder.appendff(" {}: '{}'", CSS::string_from_property_id(property.property_id), property.value->to_string());
if (property.important == CSS::Important::Yes) if (property.important == CSS::Important::Yes)
builder.append(" \033[31;1m!important\033[0m"sv); builder.append(" \033[31;1m!important\033[0m"sv);
builder.append('\n'); builder.append('\n');
} }
for (auto& property : style_declaration.custom_properties()) { for (auto& property : style_declaration.custom_properties()) {
indent(builder, indent_levels); indent(builder, indent_levels);
builder.appendff(" {}: '{}'", property.key, property.value.value->to_deprecated_string()); builder.appendff(" {}: '{}'", property.key, property.value.value->to_string());
if (property.value.important == CSS::Important::Yes) if (property.value.important == CSS::Important::Yes)
builder.append(" \033[31;1m!important\033[0m"sv); builder.append(" \033[31;1m!important\033[0m"sv);
builder.append('\n'); builder.append('\n');

View file

@ -319,7 +319,7 @@ Gfx::FloatMatrix4x4 StackingContext::get_transformation_matrix(CSS::Transformati
return Gfx::rotation_matrix({ 0.0f, 0.0f, 1.0f }, value(0)); return Gfx::rotation_matrix({ 0.0f, 0.0f, 1.0f }, value(0));
break; break;
default: default:
dbgln_if(LIBWEB_CSS_DEBUG, "FIXME: Unhandled transformation function {}", CSS::TransformationStyleValue::create(transformation.function, {})->to_deprecated_string()); dbgln_if(LIBWEB_CSS_DEBUG, "FIXME: Unhandled transformation function {}", CSS::TransformationStyleValue::create(transformation.function, {})->to_string());
} }
return Gfx::FloatMatrix4x4::identity(); return Gfx::FloatMatrix4x4::identity();
} }

View file

@ -306,7 +306,7 @@ Messages::WebContentServer::InspectDomNodeResponse ConnectionFromClient::inspect
auto serializer = MUST(JsonObjectSerializer<>::try_create(builder)); auto serializer = MUST(JsonObjectSerializer<>::try_create(builder));
properties.for_each_property([&](auto property_id, auto& value) { properties.for_each_property([&](auto property_id, auto& value) {
MUST(serializer.add(Web::CSS::string_from_property_id(property_id), value.to_deprecated_string())); MUST(serializer.add(Web::CSS::string_from_property_id(property_id), value.to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string()));
}); });
MUST(serializer.finish()); MUST(serializer.finish());
@ -323,7 +323,7 @@ Messages::WebContentServer::InspectDomNodeResponse ConnectionFromClient::inspect
for (auto const& property : element_to_check->custom_properties()) { for (auto const& property : element_to_check->custom_properties()) {
if (!seen_properties.contains(property.key)) { if (!seen_properties.contains(property.key)) {
seen_properties.set(property.key); seen_properties.set(property.key);
MUST(serializer.add(property.key, property.value.value->to_deprecated_string())); MUST(serializer.add(property.key, property.value.value->to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string()));
} }
} }

View file

@ -1065,7 +1065,7 @@ Messages::WebDriverClient::GetElementCssValueResponse WebDriverConnection::get_e
auto property = Web::CSS::property_id_from_string(name); auto property = Web::CSS::property_id_from_string(name);
if (auto* computed_values = element->computed_css_values()) if (auto* computed_values = element->computed_css_values())
computed_value = computed_values->property(property)->to_deprecated_string(); computed_value = computed_values->property(property)->to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
} }
// -> Otherwise // -> Otherwise
else { else {