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