Bug 1456534 - Make sure we do a full display list rebuild on the next frame after creating a displayport during painting. r=mstange
authorMatt Woodrow <mwoodrow@mozilla.com>
Fri, 04 May 2018 10:23:18 -0400
changeset 473083 2fe7f347fbbd0d5fd91b918324c85b19bc10e6cf
parent 473082 5bc3f25f994e72e1325313d0a4a5de3bbf13bcd1
child 473084 1120a82a5604c63951f175cce5614702f892a50b
push id1728
push userjlund@mozilla.com
push dateMon, 18 Jun 2018 21:12:27 +0000
treeherdermozilla-release@c296fde26f5f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange
bugs1456534
milestone61.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 1456534 - Make sure we do a full display list rebuild on the next frame after creating a displayport during painting. r=mstange MozReview-Commit-ID: 9SZMjf43G7S
layout/generic/nsGfxScrollFrame.cpp
--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -3668,16 +3668,17 @@ ScrollFrameHelper::BuildDisplayList(nsDi
         // recompute the current animated geometry root if needed.
         // It's too late to change the dirty rect so pass a copy.
         nsRect copyOfDirtyRect = dirtyRect;
         nsRect copyOfVisibleRect = visibleRect;
         Unused << DecideScrollableLayer(aBuilder, &copyOfVisibleRect, &copyOfDirtyRect,
                     /* aSetBase = */ false, nullptr);
         if (mWillBuildScrollableLayer) {
           asrSetter.InsertScrollFrame(sf);
+          aBuilder->SetDisablePartialUpdates(true);
         }
       }
     }
   }
 
   if (mWillBuildScrollableLayer && aBuilder->IsPaintingToWindow()) {
     aBuilder->ForceLayerForScrollParent();
   }