Bug 1067375 - Fix animateTransform in svg-as-image to invalidate properly. r=jwatt
authorRobert Longson <longsonr@gmail.com>
Sun, 12 Oct 2014 08:49:34 +0100
changeset 233240 9532ec1b7e807b432c2a71d169ac54331ff9e06f
parent 233239 a014629454d07d64151319da1b8d99360433c0e8
child 233241 199fb29c3467cbf06cd4e7d6ef5ea2323530d211
child 233242 81af1b9eba5d5ae102fabe9092ebfed622bcadbd
push id4187
push userbhearsum@mozilla.com
push dateFri, 28 Nov 2014 15:29:12 +0000
treeherdermozilla-beta@f23cc6a30c11 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjwatt
bugs1067375
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1067375 - Fix animateTransform in svg-as-image to invalidate properly. r=jwatt
layout/base/RestyleManager.cpp
--- a/layout/base/RestyleManager.cpp
+++ b/layout/base/RestyleManager.cpp
@@ -261,16 +261,19 @@ DoApplyRenderingChangeToTree(nsIFrame* a
         // SVG effects paints the opacity without using
         // nsDisplayOpacity. We need to invalidate manually.
         aFrame->InvalidateFrameSubtree();
       }
     }
     if ((aChange & nsChangeHint_UpdateTransformLayer) &&
         aFrame->IsTransformed()) {
       ActiveLayerTracker::NotifyRestyle(aFrame, eCSSProperty_transform);
+      if (!aFrame->GetPrevContinuation()) {
+        nsSVGEffects::InvalidateRenderingObservers(aFrame);
+      }
       // If we're not already going to do an invalidating paint, see
       // if we can get away with only updating the transform on a
       // layer for this frame, and not scheduling an invalidating
       // paint.
       if (!needInvalidatingPaint) {
         Layer* layer;
         needInvalidatingPaint |= !aFrame->TryUpdateTransformOnly(&layer);