From 452c7f0e9a9c9560a62cb85230c735f5ad175305 Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Wed, 23 May 2018 18:15:12 +0900 Subject: [PATCH] Bug 1463605 - Set mMayHaveOpacityAnimation and mMayHaveTransformAnimation flag to continuation or IB split sibling frames too. r=birtles Without this fix layout/reftests/css-animations/ib-split-sibling-opacity.html would have failed if the next change in this patch series is applied. MozReview-Commit-ID: CFNXePkXuOs --HG-- extra : rebase_source : 48df6bf107e1a14dd2b2ae7c23d38d29581aabcb --- dom/animation/KeyframeEffect.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dom/animation/KeyframeEffect.cpp b/dom/animation/KeyframeEffect.cpp index 45a6a5fb36c6..86f5fa84074c 100644 --- a/dom/animation/KeyframeEffect.cpp +++ b/dom/animation/KeyframeEffect.cpp @@ -1785,14 +1785,16 @@ KeyframeEffect::UpdateEffectSet(EffectSet* aEffectSet) const nsIFrame* frame = GetStyleFrame(); if (HasAnimationOfProperty(eCSSProperty_opacity)) { effectSet->SetMayHaveOpacityAnimation(); - if (frame) { + while (frame) { frame->SetMayHaveOpacityAnimation(); + frame = nsLayoutUtils::GetNextContinuationOrIBSplitSibling(frame); } } if (HasAnimationOfProperty(eCSSProperty_transform)) { effectSet->SetMayHaveTransformAnimation(); - if (frame) { + while (frame) { frame->SetMayHaveTransformAnimation(); + frame = nsLayoutUtils::GetNextContinuationOrIBSplitSibling(frame); } } }