Bug 1251431 - Part 2: Do not apply the device transform when drawing to an already intermediate surface. r=jwatt draft
authorBas Schouten <bschouten@mozilla.com>
Thu, 10 Mar 2016 03:56:50 +0100
changeset 338878 16a65a510c3e55f621d87b171be1d8ff84422ffb
parent 338877 4ac56143aba2bc73fac6749ca3b4df7b1d3453bb
child 338879 4f3c4d62ccce8761dfe2f6dfcb242ceb870902e3
push id12595
push userbschouten@mozilla.com
push dateThu, 10 Mar 2016 03:00:36 +0000
reviewersjwatt
bugs1251431
milestone47.0a1
Bug 1251431 - Part 2: Do not apply the device transform when drawing to an already intermediate surface. r=jwatt MozReview-Commit-ID: 5DCEvQJK3Us
layout/svg/nsSVGClipPathFrame.cpp
--- a/layout/svg/nsSVGClipPathFrame.cpp
+++ b/layout/svg/nsSVGClipPathFrame.cpp
@@ -222,18 +222,17 @@ nsSVGClipPathFrame::GetClipMask(gfxConte
 
     RefPtr<SourceSurface> currentMask = maskDT->Snapshot();
     maskDT->SetTransform(Matrix());
     maskDT->ClearRect(Rect(0, 0,
                            devSpaceClipExtents.width,
                            devSpaceClipExtents.height));
     maskDT->MaskSurface(SurfacePattern(currentMask, ExtendMode::CLAMP),
                         aExtraMask,
-                        Point(aExtraMasksTransform._31 - devSpaceClipExtents.x,
-                              aExtraMasksTransform._32 - devSpaceClipExtents.y));
+                        Point(aExtraMasksTransform._31, aExtraMasksTransform._32));
   }
 
   *aMaskTransform = ToMatrix(mat);
   return maskDT->Snapshot();
 }
 
 bool
 nsSVGClipPathFrame::PointIsInsideClipPath(nsIFrame* aClippedFrame,