Browse Source

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.
Matthew Olsson 1 year ago
parent
commit
1f88ca2a03
1 changed files with 1 additions and 19 deletions
  1. 1 19
      Userland/Libraries/LibWeb/CSS/StyleComputer.cpp

+ 1 - 19
Userland/Libraries/LibWeb/CSS/StyleComputer.cpp

@@ -1141,26 +1141,8 @@ static ErrorOr<ValueComparingNonnullRefPtr<StyleValue const>> 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]];