Bug 1400022 - Backed out changeset 610fbd30a6a3 (bug 1397057). r?mattwoodrow draft
authorHiroyuki Ikezoe <hikezoe@mozilla.com>
Tue, 19 Sep 2017 11:14:48 +0900
changeset 666622 238d5153a76054bb82fcbda644516cd7e89f8a24
parent 666416 42151fcd6cfc216d147730d0f2c6a2acd52d22fd
child 666623 6a204d1e8181f31f8f917ba337189b186070c6c2
child 666829 6368a9204fdd6e7444796efaed987e2a566b5729
push id80476
push userhikezoe@mozilla.com
push dateTue, 19 Sep 2017 02:29:34 +0000
reviewersmattwoodrow
bugs1400022, 1397057
milestone57.0a1
Bug 1400022 - Backed out changeset 610fbd30a6a3 (bug 1397057). r?mattwoodrow The SchedulePaint() ends up calling nsSVGEffects::InvalidateDirectRenderingObservers, it doesn't need for retained display list, and causes harmful restyle events for stylo. We will call ScheulePaint without involing InvalidateDirectRenderingObservers later in another bug. MozReview-Commit-ID: 10V9JLHZmCs
dom/animation/KeyframeEffectReadOnly.cpp
--- a/dom/animation/KeyframeEffectReadOnly.cpp
+++ b/dom/animation/KeyframeEffectReadOnly.cpp
@@ -972,19 +972,16 @@ KeyframeEffectReadOnly::UpdateTargetRegi
              "Out of date Animation::IsRelevant value");
 
   if (isRelevant && !mInEffectSet) {
     EffectSet* effectSet =
       EffectSet::GetOrCreateEffectSet(mTarget->mElement, mTarget->mPseudoType);
     effectSet->AddEffect(*this);
     mInEffectSet = true;
     UpdateEffectSet(effectSet);
-    if (mTarget->mElement->GetPrimaryFrame()) {
-      mTarget->mElement->GetPrimaryFrame()->SchedulePaint();
-    }
   } else if (!isRelevant && mInEffectSet) {
     UnregisterTarget();
   }
 }
 
 void
 KeyframeEffectReadOnly::UnregisterTarget()
 {
@@ -999,19 +996,16 @@ KeyframeEffectReadOnly::UnregisterTarget
   mInEffectSet = false;
   if (effectSet) {
     effectSet->RemoveEffect(*this);
 
     if (effectSet->IsEmpty()) {
       EffectSet::DestroyEffectSet(mTarget->mElement, mTarget->mPseudoType);
     }
   }
-  if (mTarget->mElement->GetPrimaryFrame()) {
-    mTarget->mElement->GetPrimaryFrame()->SchedulePaint();
-  }
 }
 
 void
 KeyframeEffectReadOnly::RequestRestyle(
   EffectCompositor::RestyleType aRestyleType)
 {
    if (!mTarget) {
     return;