Bug 1267999 - An APZC cannot be checkerboarding if APZ is force-disabled for it. r=kats draft
authorBotond Ballo <botond@mozilla.com>
Wed, 25 May 2016 19:38:39 -0400
changeset 371130 62a2f6e79150e4acff4a833d7c128167f1c41941
parent 371039 82262bd0a1ca7a0aa32e7007578b5b00e8139f0f
child 521913 9bb2cf1377f7fcec7fa5534108a6c93502539e94
push id19240
push userbballo@mozilla.com
push dateWed, 25 May 2016 23:40:47 +0000
reviewerskats
bugs1267999
milestone49.0a1
Bug 1267999 - An APZC cannot be checkerboarding if APZ is force-disabled for it. r=kats MozReview-Commit-ID: Ai6aiRFBPl1
gfx/layers/apz/src/AsyncPanZoomController.cpp
--- a/gfx/layers/apz/src/AsyncPanZoomController.cpp
+++ b/gfx/layers/apz/src/AsyncPanZoomController.cpp
@@ -3144,17 +3144,17 @@ AsyncPanZoomController::ReportCheckerboa
     }
     mCheckerboardEvent = nullptr;
   }
 }
 
 bool AsyncPanZoomController::IsCurrentlyCheckerboarding() const {
   ReentrantMonitorAutoEnter lock(mMonitor);
 
-  if (!gfxPrefs::APZAllowCheckerboarding()) {
+  if (!gfxPrefs::APZAllowCheckerboarding() || mScrollMetadata.IsApzForceDisabled()) {
     return false;
   }
 
   CSSPoint currentScrollOffset = mFrameMetrics.GetScrollOffset() + mTestAsyncScrollOffset;
   CSSRect painted = mLastContentPaintMetrics.GetDisplayPort() + mLastContentPaintMetrics.GetScrollOffset();
   painted.Inflate(CSSMargin::FromAppUnits(nsMargin(1, 1, 1, 1)));   // fuzz for rounding error
   CSSRect visible = CSSRect(currentScrollOffset, mFrameMetrics.CalculateCompositedSizeInCssPixels());
   if (painted.Contains(visible)) {