Bug 1399795 - Recompute nsDisplayTransform bounds for 3D when updating the item bounds. r=mattwoodrow draft
authorEthan Lin <ethlin@mozilla.com>
Thu, 14 Sep 2017 16:28:05 +0800
changeset 664770 2b5431008e1284d7c949a0ebed80509feb533154
parent 664769 82eb2c9c8b3016818c5cc6303c1ff5b8108e5b74
child 731534 658d06f4cb0ec9ff7b98674abc17640c06c1deaa
push id79794
push userbmo:ethlin@mozilla.com
push dateThu, 14 Sep 2017 10:12:50 +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
@@ -5744,16 +5744,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);
   }
 
@@ -6095,16 +6096,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
   {