mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 18:08:58 +00:00
bf583442cc
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 |
||
---|---|---|
.. | ||
test | ||
Animation.cpp | ||
Animation.h | ||
AnimationComparator.h | ||
AnimationEffect.cpp | ||
AnimationEffect.h | ||
AnimationEventDispatcher.cpp | ||
AnimationEventDispatcher.h | ||
AnimationPerformanceWarning.cpp | ||
AnimationPerformanceWarning.h | ||
AnimationPropertySegment.h | ||
AnimationTarget.h | ||
AnimationTimeline.cpp | ||
AnimationTimeline.h | ||
AnimationUtils.cpp | ||
AnimationUtils.h | ||
ComputedTiming.h | ||
CSSAnimation.cpp | ||
CSSAnimation.h | ||
CSSPseudoElement.cpp | ||
CSSPseudoElement.h | ||
CSSTransition.cpp | ||
CSSTransition.h | ||
DocumentTimeline.cpp | ||
DocumentTimeline.h | ||
EffectCompositor.cpp | ||
EffectCompositor.h | ||
EffectSet.cpp | ||
EffectSet.h | ||
ElementAnimationData.cpp | ||
ElementAnimationData.h | ||
Keyframe.h | ||
KeyframeEffect.cpp | ||
KeyframeEffect.h | ||
KeyframeEffectParams.h | ||
KeyframeUtils.cpp | ||
KeyframeUtils.h | ||
moz.build | ||
PostRestyleMode.h | ||
PseudoElementHashEntry.h | ||
ScrollTimeline.cpp | ||
ScrollTimeline.h | ||
ScrollTimelineAnimationTracker.cpp | ||
ScrollTimelineAnimationTracker.h | ||
TimingParams.cpp | ||
TimingParams.h | ||
ViewTimeline.cpp | ||
ViewTimeline.h |