Bug 1470792 - Backout the changeset that introduced UpdateContainingBlock change hint for mask changes. r?heycam draft
authorHiroyuki Ikezoe <hikezoe@mozilla.com>
Mon, 25 Jun 2018 15:42:38 +0900
changeset 810080 f821b913752bc4c739b54c52bdae503aca8c0021
parent 810079 e75b9aec6777e80197ace31131116e2ee23e6306
push id113884
push userbmo:hikezoe@mozilla.com
push dateMon, 25 Jun 2018 07:00:28 +0000
reviewersheycam
bugs1470792
milestone62.0a1
Bug 1470792 - Backout the changeset that introduced UpdateContainingBlock change hint for mask changes. r?heycam MozReview-Commit-ID: JF88VkutUgG
layout/style/ComputedStyle.cpp
layout/style/nsStyleStruct.cpp
--- a/layout/style/ComputedStyle.cpp
+++ b/layout/style/ComputedStyle.cpp
@@ -227,18 +227,18 @@ ComputedStyle::CalcStyleDifference(Compu
 
   if (hint & nsChangeHint_UpdateContainingBlock) {
     // If a struct returned nsChangeHint_UpdateContainingBlock, that
     // means that one property's influence on whether we're a containing
     // block for abs-pos or fixed-pos elements has changed.  However, we
     // only need to return the hint if the overall computation of
     // whether we establish a containing block has changed.
 
-    // This depends on data in nsStyleDisplay, nsStyleEffects and
-    // nsStyleSVGReset, so we do it here.
+    // This depends on data in nsStyleDisplay and nsStyleEffects, so we do it
+    // here
 
     // Note that it's perhaps good for this test to be last because it
     // doesn't use Peek* functions to get the structs on the old
     // context.  But this isn't a big concern because these struct
     // getters should be called during frame construction anyway.
     if (ThreadsafeStyleDisplay()->IsAbsPosContainingBlockForAppropriateFrame(*this) ==
         aNewContext->ThreadsafeStyleDisplay()->
           IsAbsPosContainingBlockForAppropriateFrame(*aNewContext) &&
--- a/layout/style/nsStyleStruct.cpp
+++ b/layout/style/nsStyleStruct.cpp
@@ -1315,21 +1315,16 @@ nsStyleSVGReset::CalcDifference(const ns
              mFloodColor    != aNewData.mFloodColor    ||
              mLightingColor != aNewData.mLightingColor ||
              mStopOpacity   != aNewData.mStopOpacity   ||
              mFloodOpacity  != aNewData.mFloodOpacity  ||
              mMaskType      != aNewData.mMaskType) {
     hint |= nsChangeHint_RepaintFrame;
   }
 
-  if (HasMask() != aNewData.HasMask()) {
-    // A change from/to being a containing block for position:fixed.
-    hint |= nsChangeHint_UpdateContainingBlock;
-  }
-
   hint |= mMask.CalcDifference(aNewData.mMask,
                                nsStyleImageLayers::LayerType::Mask);
 
   return hint;
 }
 
 bool
 nsStyleSVGReset::HasMask() const