Bug 1548247 - Use aGuid's RenderRoot in RecvStart/StopAutoscroll r=kats
authorDoug Thayer <dothayer@mozilla.com>
Tue, 18 Jun 2019 22:03:04 +0000
changeset 479134 bf1be740ee4ad47ef0d378c3222bf6c16eaf4a5c
parent 479133 c86eb07fe740f960e42a4b429de0a4e8b3634da9
child 479135 e249cd75138b075397f22731aa94aa1ee9c803d6
push id36170
push usercbrindusan@mozilla.com
push dateWed, 19 Jun 2019 03:56:45 +0000
treeherdermozilla-central@5f0f37756053 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskats
bugs1548247
milestone69.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 1548247 - Use aGuid's RenderRoot in RecvStart/StopAutoscroll r=kats The work for the antecedent patch led me to stumble on a problem where we were not correctly stopping autoscroll. This was also due to a renderroot mismatch, which this patch addresses. The call comes through nsBaseWidget no matter what, it seems, so using mWrRootId.mRenderRoot seems to be incorrect. I couldn't see a more elegant fix than this. Differential Revision: https://phabricator.services.mozilla.com/D31863
gfx/layers/ipc/APZCTreeManagerParent.cpp
--- a/gfx/layers/ipc/APZCTreeManagerParent.cpp
+++ b/gfx/layers/ipc/APZCTreeManagerParent.cpp
@@ -145,30 +145,30 @@ mozilla::ipc::IPCResult APZCTreeManagerP
   // Unlike RecvStartScrollbarDrag(), this message comes from the parent
   // process (via nsBaseWidget::mAPZC) rather than from the child process
   // (via BrowserChild::mApzcTreeManager), so there is no need to check the
   // layers id against mWrRootId (and in any case, it wouldn't match, because
   // mWrRootId stores the parent process's layers id, while nsBaseWidget is
   // sending the child process's layers id).
 
   mUpdater->RunOnControllerThread(
-      UpdaterQueueSelector(mWrRootId),
+      UpdaterQueueSelector(mWrRootId.mLayersId, aGuid.mRenderRoot),
       NewRunnableMethod<SLGuidAndRenderRoot, ScreenPoint>(
           "layers::IAPZCTreeManager::StartAutoscroll", mTreeManager,
           &IAPZCTreeManager::StartAutoscroll, aGuid, aAnchorLocation));
 
   return IPC_OK();
 }
 
 mozilla::ipc::IPCResult APZCTreeManagerParent::RecvStopAutoscroll(
     const SLGuidAndRenderRoot& aGuid) {
   // See RecvStartAutoscroll() for why we don't check the layers id.
 
   mUpdater->RunOnControllerThread(
-      UpdaterQueueSelector(mWrRootId),
+      UpdaterQueueSelector(mWrRootId.mLayersId, aGuid.mRenderRoot),
       NewRunnableMethod<SLGuidAndRenderRoot>(
           "layers::IAPZCTreeManager::StopAutoscroll", mTreeManager,
           &IAPZCTreeManager::StopAutoscroll, aGuid));
 
   return IPC_OK();
 }
 
 mozilla::ipc::IPCResult APZCTreeManagerParent::RecvSetLongTapEnabled(