Bug 1178575 - Intersect the clip rect with aDirtyRect. r=roc
authorMats Palmgren <mats@mozilla.com>
Fri, 07 Aug 2015 14:05:48 +0200
changeset 256831 786625a84d876581e9a5e5fb461fbb5542a28f4f
parent 256830 0a7ec92071a5f547c3b13f4abca6aa9d2e848f15
child 256832 927e481324f9e377e5fb3cd49cb50534e72f3f29
push id29190
push userryanvm@gmail.com
push dateFri, 07 Aug 2015 20:02:47 +0000
treeherdermozilla-central@461fc0a6a130 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc
bugs1178575
milestone42.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 1178575 - Intersect the clip rect with aDirtyRect. r=roc
layout/base/nsCSSRendering.cpp
--- a/layout/base/nsCSSRendering.cpp
+++ b/layout/base/nsCSSRendering.cpp
@@ -1413,16 +1413,17 @@ nsCSSRendering::PaintBoxShadowOuter(nsPr
         if (skipSides.Bottom()) {
           nscoord ymost = fragmentClip.YMost();
           nscoord overflow = ymost - aFrameArea.YMost();
           if (overflow > 0) {
             fragmentClip.height -= overflow;
           }
         }
       }
+      fragmentClip = fragmentClip.Intersect(aDirtyRect);
       renderContext->
         Clip(NSRectToSnappedRect(fragmentClip,
                                  aForFrame->PresContext()->AppUnitsPerDevPixel(),
                                  aDrawTarget));
 
       RectCornerRadii clipRectRadii;
       if (hasBorderRadius) {
         Float spreadDistance = shadowItem->mSpread / twipsPerPixel;