mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 00:37:35 +00:00
LibWeb: Run update_finished_state when setting AnimationEffect's timing
This will need to a necessary style invalidation
This commit is contained in:
parent
6d25bf3aac
commit
3721a1a81c
3 changed files with 10 additions and 0 deletions
|
@ -509,6 +509,11 @@ void Animation::notify_timeline_time_did_change()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Animation::effect_timing_changed(Badge<AnimationEffect>)
|
||||||
|
{
|
||||||
|
update_finished_state(DidSeek::No, SynchronouslyNotify::Yes);
|
||||||
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/web-animations-1/#associated-effect-end
|
// https://www.w3.org/TR/web-animations-1/#associated-effect-end
|
||||||
double Animation::associated_effect_end() const
|
double Animation::associated_effect_end() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,6 +65,8 @@ public:
|
||||||
JS::GCPtr<DOM::Document> document_for_timing() const;
|
JS::GCPtr<DOM::Document> document_for_timing() const;
|
||||||
void notify_timeline_time_did_change();
|
void notify_timeline_time_did_change();
|
||||||
|
|
||||||
|
void effect_timing_changed(Badge<AnimationEffect>);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Animation(JS::Realm&);
|
Animation(JS::Realm&);
|
||||||
|
|
||||||
|
|
|
@ -151,6 +151,9 @@ WebIDL::ExceptionOr<void> AnimationEffect::update_timing(OptionalEffectTiming ti
|
||||||
if (timing.easing.has_value())
|
if (timing.easing.has_value())
|
||||||
m_easing_function = timing.easing.value();
|
m_easing_function = timing.easing.value();
|
||||||
|
|
||||||
|
if (auto animation = m_associated_animation)
|
||||||
|
animation->effect_timing_changed({});
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue