style: Create timeline objects when mutating scroll-timeline property

And so we can lookup the timeline from TimelineCollection.

Differential Revision: https://phabricator.services.mozilla.com/D169273
This commit is contained in:
Boris Chiou 2023-03-07 23:57:55 +00:00 committed by Martin Robinson
parent 532d769e27
commit 3390b77281
4 changed files with 54 additions and 0 deletions

View file

@ -418,6 +418,21 @@ trait PrivateMatchMethods: TElement {
// in addition to the unvisited styles.
let mut tasks = UpdateAnimationsTasks::empty();
if old_values.as_deref().map_or_else(
|| new_values.get_ui().specifies_scroll_timelines(),
|old| !old.get_ui().scroll_timelines_equals(new_values.get_ui()),
) {
tasks.insert(UpdateAnimationsTasks::SCROLL_TIMELINES);
}
if old_values.as_deref().map_or_else(
|| new_values.get_ui().specifies_view_timelines(),
|old| !old.get_ui().view_timelines_equals(new_values.get_ui()),
) {
tasks.insert(UpdateAnimationsTasks::VIEW_TIMELINES);
}
if self.needs_animations_update(
context,
old_values.as_deref(),