Bug 1425115 - Only add nsDisplayPerspective to mTransformFrame when retaining display list draft
authorMiko Mynttinen <mikokm@gmail.com>
Wed, 13 Dec 2017 14:38:24 -0600
changeset 711343 467318eb99282ec7cf5a197ce6684781e6de500e
parent 710925 ea27ee04a78a3badcb013935876f61a71da4a266
child 743798 38f1fe48fea903e51d21cbafc65d637352007b57
push id93058
push userbmo:mikokm@gmail.com
push dateWed, 13 Dec 2017 20:40:36 +0000
bugs1425115
milestone59.0a1
Bug 1425115 - Only add nsDisplayPerspective to mTransformFrame when retaining display list MozReview-Commit-ID: HKey0DG2r4c
layout/painting/nsDisplayList.cpp
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -9128,17 +9128,19 @@ nsDisplayPerspective::nsDisplayPerspecti
   : nsDisplayItem(aBuilder, aPerspectiveFrame)
   , mList(aBuilder, aPerspectiveFrame, aList)
   , mTransformFrame(aTransformFrame)
   , mIndex(aBuilder->AllocatePerspectiveItemIndex())
 {
   MOZ_ASSERT(mList.GetChildren()->Count() == 1);
   MOZ_ASSERT(mList.GetChildren()->GetTop()->GetType() == DisplayItemType::TYPE_TRANSFORM);
 
-  mTransformFrame->AddDisplayItem(this);
+  if (aBuilder->IsRetainingDisplayList()) {
+    mTransformFrame->AddDisplayItem(this);
+  }
 }
 
 already_AddRefed<Layer>
 nsDisplayPerspective::BuildLayer(nsDisplayListBuilder *aBuilder,
                                  LayerManager *aManager,
                                  const ContainerLayerParameters& aContainerParameters)
 {
   float appUnitsPerPixel = mFrame->PresContext()->AppUnitsPerDevPixel();