Bug 1368496 - Skip over scrollinfo layers instead of aborting entirely. r=jrmuizel
authorKartikaya Gupta <kgupta@mozilla.com>
Thu, 08 Jun 2017 11:34:00 -0400
changeset 363026 de72271be8b87e1472bc11825d4bc485a75d061f
parent 363025 69a0d95d19bbee728d6e255bb63706da1fd36ce8
child 363027 6ca11746a8fc0914f47c00b526155348a9db8087
push id31994
push usercbook@mozilla.com
push dateFri, 09 Jun 2017 10:56:24 +0000
treeherdermozilla-central@7c9d96bbc400 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel
bugs1368496
milestone55.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 1368496 - Skip over scrollinfo layers instead of aborting entirely. r=jrmuizel MozReview-Commit-ID: 5pYcurXfAf
gfx/layers/wr/ScrollingLayersHelper.cpp
--- a/gfx/layers/wr/ScrollingLayersHelper.cpp
+++ b/gfx/layers/wr/ScrollingLayersHelper.cpp
@@ -25,17 +25,17 @@ ScrollingLayersHelper::ScrollingLayersHe
     // If APZ is disabled then we don't need to push the scrolling clips
     return;
   }
 
   Layer* layer = mLayer->GetLayer();
   for (uint32_t i = layer->GetScrollMetadataCount(); i > 0; i--) {
     const FrameMetrics& fm = layer->GetFrameMetrics(i - 1);
     if (!fm.IsScrollable()) {
-      return;
+      continue;
     }
     LayerRect contentRect = ViewAs<LayerPixel>(
         fm.GetExpandedScrollableRect() * fm.GetDevPixelsPerCSSPixel(),
         PixelCastJustification::WebRenderHasUnitResolution);
     // TODO: check coordinate systems are sane here
     LayerRect clipBounds = ViewAs<LayerPixel>(
         fm.GetCompositionBounds(),
         PixelCastJustification::MovingDownToChildren);
@@ -58,16 +58,16 @@ ScrollingLayersHelper::~ScrollingLayersH
   if (!mLayer->WrManager()->AsyncPanZoomEnabled()) {
     return;
   }
 
   Layer* layer = mLayer->GetLayer();
   for (int32_t i = layer->GetScrollMetadataCount(); i > 0; i--) {
     const FrameMetrics& fm = layer->GetFrameMetrics(i - 1);
     if (!fm.IsScrollable()) {
-      return;
+      continue;
     }
     mBuilder->PopScrollLayer();
   }
 }
 
 } // namespace layers
 } // namespace mozilla