From 7a391f419a1b6b616dcd92d9b78c28985f6f8e84 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Wed, 23 Apr 2025 18:35:45 +0100 Subject: [PATCH] LibWeb: Handle single value properties when normalizing transition lists Previously, if a transition property was not wrapped in a list, it would be replaced with the default value in `StyleComputer::compute_transitioned_properties`. --- Libraries/LibWeb/CSS/StyleComputer.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Libraries/LibWeb/CSS/StyleComputer.cpp b/Libraries/LibWeb/CSS/StyleComputer.cpp index db77fd06f86..7b14b7a42d8 100644 --- a/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -1342,6 +1342,12 @@ static void compute_transitioned_properties(ComputedProperties const& style, DOM auto const* style_value = style.maybe_null_property(property); StyleValueVector list; + if (style_value && !style_value->is_value_list()) { + for (size_t i = 0; i < properties.size(); i++) + list.append(*style_value); + return list; + } + if (!style_value || !style_value->is_value_list() || style_value->as_value_list().size() == 0) { auto default_value = make_default_value(); for (size_t i = 0; i < properties.size(); i++)