diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp index 2960d6f30e..99c4fe8306 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp @@ -387,4 +387,13 @@ void ImageStyleValue::resource_did_load() if (m_document && m_document->browsing_context()) m_document->browsing_context()->set_needs_display({}); } + +// https://www.w3.org/TR/css-color-4/#serializing-sRGB-values +String ColorStyleValue::to_string() const +{ + if (m_color.alpha() == 1) + return String::formatted("rgb({}, {}, {})", m_color.red(), m_color.green(), m_color.blue()); + return String::formatted("rgba({}, {}, {}, {})", m_color.red(), m_color.green(), m_color.blue(), (float)(m_color.alpha()) / 255.0f); +} + } diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index 4ab90d8dfc..f12954a846 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -683,7 +683,7 @@ public: virtual ~ColorStyleValue() override { } Color color() const { return m_color; } - virtual String to_string() const override { return m_color.to_string(); } + virtual String to_string() const override; virtual bool has_color() const override { return true; } virtual Color to_color(Layout::NodeWithStyle const&) const override { return m_color; }