diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt index 3478edf973..056bbf3eef 100644 --- a/Userland/Libraries/LibWeb/CMakeLists.txt +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -55,6 +55,7 @@ set(SOURCES CSS/StyleValue.cpp CSS/Supports.cpp CSS/SyntaxHighlighter/SyntaxHighlighter.cpp + CSS/Time.cpp CSS/ValueID.cpp CSS/ValueID.h Cookie/ParsedCookie.cpp diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index ea1f704084..16a943f7c0 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -4310,6 +4310,8 @@ Optional Parser::parse_calc_value(TokenStream return calculated->resolve_length_percentage(layout_node, reference_value)->resolved(layout_node, reference_value); } +Time TimePercentage::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const& layout_node, Time const& reference_value) const +{ + return calculated->resolve_time_percentage(reference_value)->resolved(layout_node, reference_value); +} + } diff --git a/Userland/Libraries/LibWeb/CSS/Percentage.h b/Userland/Libraries/LibWeb/CSS/Percentage.h index 692bef76c2..8349da1920 100644 --- a/Userland/Libraries/LibWeb/CSS/Percentage.h +++ b/Userland/Libraries/LibWeb/CSS/Percentage.h @@ -11,6 +11,7 @@ #include #include #include +#include namespace Web::CSS { @@ -180,6 +181,15 @@ public: virtual Length resolve_calculated(NonnullRefPtr const&, Layout::Node const&, Length const& reference_value) const override; }; +class TimePercentage : public PercentageOr