github web-platform-tests/wpt merge_pr_46409

latest releases: merge_pr_49470, epochs/three_hourly/2024-12-03_06H, epochs/six_hourly/2024-12-03_06H...
16 months ago

Use AnimatedPropertyIDSet for EffectSet::mPropertiesForAnimationsLevel.

We keep a set of properties which are running on the
CascadeLevel::Animations, to make sure we compose the correct properties
for the rule on Animations/Transitions cascade level.

In other words, without this patch, we may accidentally compose an
animation rule for CascadeLevel::Animations (from the KeyframeEffect of
the existing transition), even if we don't have any running animations,
if this transition property is a custom property.

The resolution is to use AnimatedPropertyIDSet, for
mPropertiesForAnimationsLevel, so we can skip the custom properties which
shouldn't belong to Animations cascade level when composing them.

Note that we don't change the logic, and we are still using
nsCSSPropertyIDSet for EffectSet::mPropertiesWithImportantRules
because compositor animations don't allow custom properties now.
(This could be a future work I guess, if we are using custom property
values for opacity, translate, rotate, scale, etc.)

Also, I noticed the subtest, "No transition when removing @Property rule",
is similar to the testcase in this bug, and so it got passed as well.

Differential Revision: https://phabricator.services.mozilla.com/D210589

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1888317
gecko-commit: 905d7610caf3eeca29029173dfb718321ae2ebdb
gecko-reviewers: layout-reviewers, zrhoffman, emilio

Don't miss a new wpt release

NewReleases is sending notifications on new releases.