From 1f88ca2a03477b2bbd86d7ae2ffe6d42622a0b84 Mon Sep 17 00:00:00 2001 From: Matthew Olsson Date: Sat, 2 Mar 2024 11:12:50 -0700 Subject: [PATCH] LibWeb: Remove transform interpolation optimization The property values here will always be StyleValueLists and not TransformationStyleValues. The handling of interpolation in this case gets quite a bit more complex, so let's just remove the dead code for now and attempt this optimization again in the future if it's needed. --- .../Libraries/LibWeb/CSS/StyleComputer.cpp | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp index 44442142cc..eb2396a910 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -1141,26 +1141,8 @@ static ErrorOr> interpolate_proper case AnimationType::None: return to; case AnimationType::Custom: { - if (property_id == PropertyID::Transform) { - // Try to optimize same-function interpolation - if (from.is_transformation() && to.is_transformation()) { - auto& from_transform = from.as_transformation(); - auto& to_transform = to.as_transformation(); - if (from_transform.transform_function() == to_transform.transform_function()) { - auto from_input_values = from_transform.values(); - auto to_input_values = to_transform.values(); - if (from_input_values.size() == to_input_values.size()) { - StyleValueVector interpolated_values; - interpolated_values.ensure_capacity(from_input_values.size()); - for (size_t i = 0; i < from_input_values.size(); ++i) - interpolated_values.append(TRY(interpolate_value(element, *from_input_values[i], *to_input_values[i], delta))); - - return TransformationStyleValue::create(from_transform.transform_function(), move(interpolated_values)); - } - } - } + if (property_id == PropertyID::Transform) return interpolate_transform(element, from, to, delta); - } // FIXME: Handle all custom animatable properties [[fallthrough]];