diff --git a/dom/animation/KeyframeEffect.cpp b/dom/animation/KeyframeEffect.cpp index 5e7a98e71017..abd6b6ae1d8c 100644 --- a/dom/animation/KeyframeEffect.cpp +++ b/dom/animation/KeyframeEffect.cpp @@ -1418,6 +1418,11 @@ KeyframeEffect::SetTarget(const Nullable& aTarget) ResetWinsInCascade(); RequestRestyle(EffectCompositor::RestyleType::Layer); + + nsAutoAnimationMutationBatch mb(mTarget->mElement->OwnerDoc()); + if (mAnimation) { + nsNodeUtils::AnimationRemoved(mAnimation); + } } mTarget = newTarget; @@ -1427,6 +1432,11 @@ KeyframeEffect::SetTarget(const Nullable& aTarget) MaybeUpdateProperties(); RequestRestyle(EffectCompositor::RestyleType::Layer); + + nsAutoAnimationMutationBatch mb(mTarget->mElement->OwnerDoc()); + if (mAnimation) { + nsNodeUtils::AnimationAdded(mAnimation); + } } }