Bug 1507315: don't pass an invalid list to LeavePresShell on partial updates r=mattwoodrow
authorRandell Jesup <rjesup@jesup.org>
Wed, 14 Nov 2018 20:55:39 -0500
changeset 446533 73de6b13685597c94484baa9177c65d4316d05c7
parent 446532 b8a2b1ba813e1a23c6c94bcef27b97ae5dde9941
child 446534 a10cbfd5f4110f2e5f96095408aebd1f8acd1b87
push id35042
push useraiakab@mozilla.com
push dateThu, 15 Nov 2018 09:54:38 +0000
treeherdermozilla-central@dca9c72df68b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow
bugs1507315
milestone65.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 1507315: don't pass an invalid list to LeavePresShell on partial updates r=mattwoodrow
layout/painting/RetainedDisplayListBuilder.cpp
--- a/layout/painting/RetainedDisplayListBuilder.cpp
+++ b/layout/painting/RetainedDisplayListBuilder.cpp
@@ -1340,17 +1340,17 @@ RetainedDisplayListBuilder::AttemptParti
   nsRect modifiedDirty;
   AnimatedGeometryRoot* modifiedAGR = nullptr;
   if (!shouldBuildPartial ||
       !ComputeRebuildRegion(modifiedFrames.Frames(),
                             &modifiedDirty,
                             &modifiedAGR,
                             framesWithProps.Frames()) ||
       !PreProcessDisplayList(&mList, modifiedAGR)) {
-    mBuilder.LeavePresShell(mBuilder.RootReferenceFrame(), List());
+    mBuilder.LeavePresShell(mBuilder.RootReferenceFrame(), nullptr);
     mList.DeleteAll(&mBuilder);
     return PartialUpdateResult::Failed;
   }
 
   // This is normally handled by EnterPresShell, but we skipped it so that we
   // didn't call MarkFrameForDisplayIfVisible before ComputeRebuildRegion.
   nsIScrollableFrame* sf = mBuilder.RootReferenceFrame()
                              ->PresShell()
@@ -1386,17 +1386,17 @@ RetainedDisplayListBuilder::AttemptParti
       nsRect(nsPoint(0, 0), mBuilder.RootReferenceFrame()->GetSize()),
       mBuilder.RootReferenceFrame()->GetVisualOverflowRectRelativeToSelf(),
       aBackstop);
   }
   mBuilder.SetPartialUpdate(false);
 
   if (mBuilder.PartialBuildFailed()) {
     mBuilder.SetPartialBuildFailed(false);
-    mBuilder.LeavePresShell(mBuilder.RootReferenceFrame(), List());
+    mBuilder.LeavePresShell(mBuilder.RootReferenceFrame(), nullptr);
     mList.DeleteAll(&mBuilder);
     modifiedDL.DeleteAll(&mBuilder);
     return PartialUpdateResult::Failed;
   }
 
   if (aChecker) {
     aChecker->Set(&modifiedDL, "TM");
   }