Bug 1072100 - mix-blend-mode doesn't work when set in JS. r=dbaron, a=sledru
authorRik Cabanier <cabanier@adobe.com>
Wed, 24 Sep 2014 09:48:00 -0400
changeset 216855 badc5be25cc1
parent 216854 371e802df4dc
child 216856 cf8866bd741f
push id3942
push userryanvm@gmail.com
push date2014-09-26 13:41 +0000
treeherdermozilla-beta@2b061899d368 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdbaron, sledru
bugs1072100
milestone33.0
Bug 1072100 - mix-blend-mode doesn't work when set in JS. r=dbaron, a=sledru
layout/style/nsStyleStruct.cpp
--- a/layout/style/nsStyleStruct.cpp
+++ b/layout/style/nsStyleStruct.cpp
@@ -2519,16 +2519,20 @@ nsChangeHint nsStyleDisplay::CalcDiffere
     if ((mOpacity >= 0.99f && mOpacity < 1.0f && aOther.mOpacity == 1.0f) ||
         (aOther.mOpacity >= 0.99f && aOther.mOpacity < 1.0f && mOpacity == 1.0f)) {
       NS_UpdateHint(hint, nsChangeHint_RepaintFrame);
     } else {
       NS_UpdateHint(hint, nsChangeHint_UpdateOpacityLayer);
     }
   }
 
+  if (mMixBlendMode != aOther.mMixBlendMode) {
+    NS_UpdateHint(hint, nsChangeHint_RepaintFrame);
+  }
+
   /* If we've added or removed the transform property, we need to reconstruct the frame to add
    * or remove the view object, and also to handle abs-pos and fixed-pos containers.
    */
   if (HasTransformStyle() != aOther.HasTransformStyle()) {
     // We do not need to apply nsChangeHint_UpdateTransformLayer since
     // nsChangeHint_RepaintFrame will forcibly invalidate the frame area and
     // ensure layers are rebuilt (or removed).
     NS_UpdateHint(hint, NS_CombineHint(nsChangeHint_AddOrRemoveTransform,