Bug 1399795 - Recompute nsDisplayTransform bounds for 3D when updating the item bounds. r=mattwoodrow
authorEthan Lin <ethlin@mozilla.com>
Fri, 15 Sep 2017 15:14:33 +0800
changeset 685638 084f83687e37a34e8186ab2b7bbb6a20a7a0eb2f
parent 685637 c87a3cd41bedef3e3186e0c4a12c49827386af74
child 685639 4dbe9ae4248c0f5205342494ba4031539bc1e991
push id86010
push userbmo:ethlin@mozilla.com
push dateWed, 25 Oct 2017 00:44:42 +0000
reviewersmattwoodrow
bugs1399795
milestone57.0a1
Bug 1399795 - Recompute nsDisplayTransform bounds for 3D when updating the item bounds. r=mattwoodrow MozReview-Commit-ID: ZYjICI1J1i
layout/painting/nsDisplayList.h
--- a/layout/painting/nsDisplayList.h
+++ b/layout/painting/nsDisplayList.h
@@ -5712,16 +5712,17 @@ public:
     MOZ_COUNT_DTOR(nsDisplayTransform);
   }
 #endif
 
   virtual void UpdateBounds(nsDisplayListBuilder* aBuilder) override
   {
     mStoredList.UpdateBounds(aBuilder);
     mHasBounds = false;
+    UpdateBoundsFor3D(aBuilder);
   }
 
   virtual void Destroy(nsDisplayListBuilder* aBuilder) override
   {
     mStoredList.Destroy(aBuilder);
     nsDisplayItem::Destroy(aBuilder);
   }
 
@@ -6063,16 +6064,21 @@ public:
   }
 
   virtual nsRect GetBounds(nsDisplayListBuilder* aBuilder,
                            bool* aSnap) const override
   {
     return mList.GetBounds(aBuilder, aSnap);
   }
 
+  virtual void UpdateBounds(nsDisplayListBuilder* aBuilder) override
+  {
+    mList.UpdateBounds(aBuilder);
+  }
+
   virtual void ComputeInvalidationRegion(nsDisplayListBuilder* aBuilder,
                                          const nsDisplayItemGeometry* aGeometry,
                                          nsRegion* aInvalidRegion) const override
   {}
 
   virtual nsRegion GetOpaqueRegion(nsDisplayListBuilder* aBuilder,
                                    bool* aSnap) const override
   {