Bug 1382534 - Use GetBounds() in nsDisplayMask::ComputeVisibility(). r=mstange draft
authorBotond Ballo <botond@mozilla.com>
Mon, 16 Oct 2017 17:18:03 -0400
changeset 690310 ec188650070d4e8de1b19395c3ed6f31e7d0e04f
parent 690309 74baaea2647708d1cd024f9e6afd82508e95c74a
child 690311 0d90b1c859d98e2aef254d0e528be27c130a78f8
push id87277
push userbballo@mozilla.com
push dateWed, 01 Nov 2017 21:17:50 +0000
reviewersmstange
bugs1382534, 1298218
milestone58.0a1
Bug 1382534 - Use GetBounds() in nsDisplayMask::ComputeVisibility(). r=mstange The code previously used GetClippedBoundsWithRespectToASR() (changed in bug 1298218), but this violated the requirements of nsDisplayList:: ComputeVisibilityForSublist(). MozReview-Commit-ID: F9UVMvVKLAp
layout/painting/nsDisplayList.cpp
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -9294,18 +9294,17 @@ bool nsDisplayMask::CanPaintOnMaskLayer(
 }
 
 bool nsDisplayMask::ComputeVisibility(nsDisplayListBuilder* aBuilder,
                                       nsRegion* aVisibleRegion)
 {
   // Our children may be made translucent or arbitrarily deformed so we should
   // not allow them to subtract area from aVisibleRegion.
   nsRegion childrenVisible(mVisibleRect);
-  nsRect r = mVisibleRect.Intersect(
-    mList.GetClippedBoundsWithRespectToASR(aBuilder, mActiveScrolledRoot));
+  nsRect r = mVisibleRect.Intersect(mList.GetBounds(aBuilder));
   mList.ComputeVisibilityForSublist(aBuilder, &childrenVisible, r);
   return true;
 }
 
 void
 nsDisplayMask::ComputeInvalidationRegion(nsDisplayListBuilder* aBuilder,
                                          const nsDisplayItemGeometry* aGeometry,
                                          nsRegion* aInvalidRegion) const