LibWeb: Parse easing values manually

The values aren't that complex, so it doesn't make much sense to have a
dedicated generator for them. Parsing them manually also allows us to
have much more control over the produced values, so as a result of this
change, EasingStyleValue becomes much more ergonomic.
This commit is contained in:
Matthew Olsson
2024-06-14 21:27:23 -07:00
committed by Andreas Kling
parent 6675ef3f24
commit 667e313731
9 changed files with 405 additions and 192 deletions

View File

@@ -1557,7 +1557,8 @@ static void apply_animation_properties(DOM::Document& document, StyleProperties&
play_state = *play_state_value;
}
Animations::TimingFunction timing_function = Animations::ease_timing_function;
static Animations::TimingFunction ease_timing_function = Animations::TimingFunction::from_easing_style_value(*CSS::EasingStyleValue::create(CSS::EasingStyleValue::CubicBezier::ease()));
Animations::TimingFunction timing_function = ease_timing_function;
if (auto timing_property = style.maybe_null_property(PropertyID::AnimationTimingFunction); timing_property && timing_property->is_easing())
timing_function = Animations::TimingFunction::from_easing_style_value(timing_property->as_easing());