From c8cf599c4412885f1b59fe75902a9df4e14d1a89 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 13 May 2023 06:52:06 +0200 Subject: [PATCH] LibWeb: Make PercentageOr equality comparison work for calc() values This makes hovering around on GitHub fast again, as it no longer believes that the grid-template-areas property keeps changing when it didn't :^) Also made to_string() work for calc() values as well, since I stumbled upon that while debugging this. --- Userland/Libraries/LibWeb/CSS/PercentageOr.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibWeb/CSS/PercentageOr.h b/Userland/Libraries/LibWeb/CSS/PercentageOr.h index ed575b28df..2e29be2096 100644 --- a/Userland/Libraries/LibWeb/CSS/PercentageOr.h +++ b/Userland/Libraries/LibWeb/CSS/PercentageOr.h @@ -114,18 +114,21 @@ public: ErrorOr to_string() const { + if (is_calculated()) + return m_value.template get>()->to_string(); if (is_percentage()) return m_value.template get().to_string(); - return m_value.template get().to_string(); } bool operator==(PercentageOr const& other) const { - if (is_calculated()) + if (is_calculated() != other.is_calculated()) return false; if (is_percentage() != other.is_percentage()) return false; + if (is_calculated()) + return (*m_value.template get>() == *other.m_value.template get>()); if (is_percentage()) return (m_value.template get() == other.m_value.template get()); return (m_value.template get() == other.m_value.template get());