LibWeb: Rename CSSColor to ColorFunctionStyleValue

This gives a better idea of what the class represents.
This commit is contained in:
Tim Ledbetter 2025-04-05 22:02:33 +01:00 committed by Sam Atkins
commit 02d34dd021
Notes: github-actions[bot] 2025-04-09 11:12:46 +00:00
5 changed files with 17 additions and 17 deletions

View file

@ -153,7 +153,7 @@ set(SOURCES
CSS/StyleValues/ContentStyleValue.cpp CSS/StyleValues/ContentStyleValue.cpp
CSS/StyleValues/CounterDefinitionsStyleValue.cpp CSS/StyleValues/CounterDefinitionsStyleValue.cpp
CSS/StyleValues/CounterStyleValue.cpp CSS/StyleValues/CounterStyleValue.cpp
CSS/StyleValues/CSSColor.cpp CSS/StyleValues/ColorFunctionStyleValue.cpp
CSS/StyleValues/CSSColorValue.cpp CSS/StyleValues/CSSColorValue.cpp
CSS/StyleValues/CSSHSL.cpp CSS/StyleValues/CSSHSL.cpp
CSS/StyleValues/CSSHWB.cpp CSS/StyleValues/CSSHWB.cpp

View file

@ -23,7 +23,6 @@
#include <LibWeb/CSS/StyleValues/BackgroundRepeatStyleValue.h> #include <LibWeb/CSS/StyleValues/BackgroundRepeatStyleValue.h>
#include <LibWeb/CSS/StyleValues/BackgroundSizeStyleValue.h> #include <LibWeb/CSS/StyleValues/BackgroundSizeStyleValue.h>
#include <LibWeb/CSS/StyleValues/BasicShapeStyleValue.h> #include <LibWeb/CSS/StyleValues/BasicShapeStyleValue.h>
#include <LibWeb/CSS/StyleValues/CSSColor.h>
#include <LibWeb/CSS/StyleValues/CSSColorValue.h> #include <LibWeb/CSS/StyleValues/CSSColorValue.h>
#include <LibWeb/CSS/StyleValues/CSSHSL.h> #include <LibWeb/CSS/StyleValues/CSSHSL.h>
#include <LibWeb/CSS/StyleValues/CSSHWB.h> #include <LibWeb/CSS/StyleValues/CSSHWB.h>
@ -32,6 +31,7 @@
#include <LibWeb/CSS/StyleValues/CSSLabLike.h> #include <LibWeb/CSS/StyleValues/CSSLabLike.h>
#include <LibWeb/CSS/StyleValues/CSSLightDark.h> #include <LibWeb/CSS/StyleValues/CSSLightDark.h>
#include <LibWeb/CSS/StyleValues/CSSRGB.h> #include <LibWeb/CSS/StyleValues/CSSRGB.h>
#include <LibWeb/CSS/StyleValues/ColorFunctionStyleValue.h>
#include <LibWeb/CSS/StyleValues/ConicGradientStyleValue.h> #include <LibWeb/CSS/StyleValues/ConicGradientStyleValue.h>
#include <LibWeb/CSS/StyleValues/CounterDefinitionsStyleValue.h> #include <LibWeb/CSS/StyleValues/CounterDefinitionsStyleValue.h>
#include <LibWeb/CSS/StyleValues/CounterStyleValue.h> #include <LibWeb/CSS/StyleValues/CounterStyleValue.h>
@ -1654,7 +1654,7 @@ RefPtr<CSSStyleValue> Parser::parse_color_function(TokenStream<ComponentValue>&
auto const& maybe_color_space = inner_tokens.consume_a_token(); auto const& maybe_color_space = inner_tokens.consume_a_token();
inner_tokens.discard_whitespace(); inner_tokens.discard_whitespace();
if (!any_of(CSSColor::s_supported_color_space, [&](auto supported) { return maybe_color_space.is_ident(supported); })) if (!any_of(ColorFunctionStyleValue::s_supported_color_space, [&](auto supported) { return maybe_color_space.is_ident(supported); }))
return {}; return {};
auto const& color_space = maybe_color_space.token().ident(); auto const& color_space = maybe_color_space.token().ident();
@ -1685,7 +1685,7 @@ RefPtr<CSSStyleValue> Parser::parse_color_function(TokenStream<ComponentValue>&
alpha = NumberStyleValue::create(1); alpha = NumberStyleValue::create(1);
transaction.commit(); transaction.commit();
return CSSColor::create(color_space.to_ascii_lowercase(), return ColorFunctionStyleValue::create(color_space.to_ascii_lowercase(),
c1.release_nonnull(), c1.release_nonnull(),
c2.release_nonnull(), c2.release_nonnull(),
c3.release_nonnull(), c3.release_nonnull(),

View file

@ -4,7 +4,7 @@
* SPDX-License-Identifier: BSD-2-Clause * SPDX-License-Identifier: BSD-2-Clause
*/ */
#include "CSSColor.h" #include "ColorFunctionStyleValue.h"
#include <AK/TypeCasts.h> #include <AK/TypeCasts.h>
#include <LibWeb/CSS/Serialize.h> #include <LibWeb/CSS/Serialize.h>
#include <LibWeb/CSS/StyleValues/NumberStyleValue.h> #include <LibWeb/CSS/StyleValues/NumberStyleValue.h>
@ -58,30 +58,30 @@ StringView string_view_from_color_type(CSSColorValue::ColorType color_type)
} }
ValueComparingNonnullRefPtr<CSSColor> CSSColor::create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha) ValueComparingNonnullRefPtr<ColorFunctionStyleValue> ColorFunctionStyleValue::create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha)
{ {
VERIFY(any_of(s_supported_color_space, [=](auto supported) { return color_space == supported; })); VERIFY(any_of(s_supported_color_space, [=](auto supported) { return color_space == supported; }));
if (!alpha) if (!alpha)
alpha = NumberStyleValue::create(1); alpha = NumberStyleValue::create(1);
return adopt_ref(*new (nothrow) CSSColor(color_type_from_string_view(color_space), move(c1), move(c2), move(c3), alpha.release_nonnull())); return adopt_ref(*new (nothrow) ColorFunctionStyleValue(color_type_from_string_view(color_space), move(c1), move(c2), move(c3), alpha.release_nonnull()));
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
bool CSSColor::equals(CSSStyleValue const& other) const bool ColorFunctionStyleValue::equals(CSSStyleValue const& other) const
{ {
if (type() != other.type()) if (type() != other.type())
return false; return false;
auto const& other_color = other.as_color(); auto const& other_color = other.as_color();
if (color_type() != other_color.color_type()) if (color_type() != other_color.color_type())
return false; return false;
auto const& other_lab_like = as<CSSColor>(other_color); auto const& other_lab_like = as<ColorFunctionStyleValue>(other_color);
return m_properties == other_lab_like.m_properties; return m_properties == other_lab_like.m_properties;
} }
CSSColor::Resolved CSSColor::resolve_properties() const ColorFunctionStyleValue::Resolved ColorFunctionStyleValue::resolve_properties() const
{ {
float const c1 = resolve_with_reference_value(m_properties.channels[0], 1).value_or(0); float const c1 = resolve_with_reference_value(m_properties.channels[0], 1).value_or(0);
float const c2 = resolve_with_reference_value(m_properties.channels[1], 1).value_or(0); float const c2 = resolve_with_reference_value(m_properties.channels[1], 1).value_or(0);
@ -91,7 +91,7 @@ CSSColor::Resolved CSSColor::resolve_properties() const
} }
// https://www.w3.org/TR/css-color-4/#serializing-color-function-values // https://www.w3.org/TR/css-color-4/#serializing-color-function-values
String CSSColor::to_string(SerializationMode mode) const String ColorFunctionStyleValue::to_string(SerializationMode mode) const
{ {
if (mode == SerializationMode::Normal) { if (mode == SerializationMode::Normal) {
auto convert_percentage = [](ValueComparingNonnullRefPtr<CSSStyleValue> const& value) -> RemoveReference<decltype(value)> { auto convert_percentage = [](ValueComparingNonnullRefPtr<CSSStyleValue> const& value) -> RemoveReference<decltype(value)> {
@ -144,7 +144,7 @@ String CSSColor::to_string(SerializationMode mode) const
resolved.alpha)); resolved.alpha));
} }
Color CSSColor::to_color(Optional<Layout::NodeWithStyle const&>) const Color ColorFunctionStyleValue::to_color(Optional<Layout::NodeWithStyle const&>) const
{ {
auto [channels, alpha_val] = resolve_properties(); auto [channels, alpha_val] = resolve_properties();
auto c1 = channels[0]; auto c1 = channels[0];

View file

@ -11,11 +11,11 @@
namespace Web::CSS { namespace Web::CSS {
// https://drafts.css-houdini.org/css-typed-om-1/#csscolor // https://drafts.css-houdini.org/css-typed-om-1/#csscolor
class CSSColor final : public CSSColorValue { class ColorFunctionStyleValue final : public CSSColorValue {
public: public:
virtual ~CSSColor() override = default; virtual ~ColorFunctionStyleValue() override = default;
static ValueComparingNonnullRefPtr<CSSColor> create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha = {}); static ValueComparingNonnullRefPtr<ColorFunctionStyleValue> create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha = {});
virtual bool equals(CSSStyleValue const&) const override; virtual bool equals(CSSStyleValue const&) const override;
virtual Color to_color(Optional<Layout::NodeWithStyle const&>) const override; virtual Color to_color(Optional<Layout::NodeWithStyle const&>) const override;
@ -24,7 +24,7 @@ public:
static constexpr Array s_supported_color_space = { "a98-rgb"sv, "display-p3"sv, "srgb"sv, "srgb-linear"sv, "prophoto-rgb"sv, "rec2020"sv, "xyz"sv, "xyz-d50"sv, "xyz-d65"sv }; static constexpr Array s_supported_color_space = { "a98-rgb"sv, "display-p3"sv, "srgb"sv, "srgb-linear"sv, "prophoto-rgb"sv, "rec2020"sv, "xyz"sv, "xyz-d50"sv, "xyz-d65"sv };
private: private:
CSSColor(ColorType color_type, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingNonnullRefPtr<CSSStyleValue> alpha) ColorFunctionStyleValue(ColorType color_type, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingNonnullRefPtr<CSSStyleValue> alpha)
: CSSColorValue(color_type, ColorSyntax::Modern) : CSSColorValue(color_type, ColorSyntax::Modern)
, m_properties { .channels = { move(c1), move(c2), move(c3) }, .alpha = move(alpha) } , m_properties { .channels = { move(c1), move(c2), move(c3) }, .alpha = move(alpha) }
{ {

View file

@ -7,7 +7,6 @@ source_set("StyleValues") {
"BackgroundSizeStyleValue.cpp", "BackgroundSizeStyleValue.cpp",
"BasicShapeStyleValue.cpp", "BasicShapeStyleValue.cpp",
"BorderRadiusStyleValue.cpp", "BorderRadiusStyleValue.cpp",
"CSSColor.cpp",
"CSSColorValue.cpp", "CSSColorValue.cpp",
"CSSHSL.cpp", "CSSHSL.cpp",
"CSSHWB.cpp", "CSSHWB.cpp",
@ -16,6 +15,7 @@ source_set("StyleValues") {
"CSSLabLike.cpp", "CSSLabLike.cpp",
"CSSRGB.cpp", "CSSRGB.cpp",
"CalculatedStyleValue.cpp", "CalculatedStyleValue.cpp",
"ColorFunctionStyleValue.cpp",
"ConicGradientStyleValue.cpp", "ConicGradientStyleValue.cpp",
"ContentStyleValue.cpp", "ContentStyleValue.cpp",
"CounterDefinitionsStyleValue.cpp", "CounterDefinitionsStyleValue.cpp",