Bug 1298254 - Cleanup patch to replace a class with NewRunnableMethod. r?dvander
MozReview-Commit-ID: KIP4VtrFX1V
--- a/gfx/layers/ipc/CompositorBridgeParent.cpp
+++ b/gfx/layers/ipc/CompositorBridgeParent.cpp
@@ -1668,49 +1668,31 @@ CompositorBridgeParent::FlushApzRepaints
void
CompositorBridgeParent::GetAPZTestData(const LayerTransactionParent* aLayerTree,
APZTestData* aOutData)
{
MonitorAutoLock lock(*sIndirectLayerTreesLock);
*aOutData = sIndirectLayerTrees[mRootLayerTreeID].mApzTestData;
}
-class NotifyAPZConfirmedTargetTask : public Runnable
-{
-public:
- explicit NotifyAPZConfirmedTargetTask(const RefPtr<APZCTreeManager>& aAPZCTM,
- const uint64_t& aInputBlockId,
- const nsTArray<ScrollableLayerGuid>& aTargets)
- : mAPZCTM(aAPZCTM),
- mInputBlockId(aInputBlockId),
- mTargets(aTargets)
- {
- }
-
- NS_IMETHOD Run() override {
- mAPZCTM->SetTargetAPZC(mInputBlockId, mTargets);
- return NS_OK;
- }
-
-private:
- RefPtr<APZCTreeManager> mAPZCTM;
- uint64_t mInputBlockId;
- nsTArray<ScrollableLayerGuid> mTargets;
-};
-
void
CompositorBridgeParent::SetConfirmedTargetAPZC(const LayerTransactionParent* aLayerTree,
const uint64_t& aInputBlockId,
const nsTArray<ScrollableLayerGuid>& aTargets)
{
if (!mApzcTreeManager) {
return;
}
- RefPtr<Runnable> task =
- new NotifyAPZConfirmedTargetTask(mApzcTreeManager, aInputBlockId, aTargets);
+ // Need to specifically bind this since it's overloaded.
+ void (APZCTreeManager::*setTargetApzcFunc)
+ (uint64_t, const nsTArray<ScrollableLayerGuid>&) =
+ &APZCTreeManager::SetTargetAPZC;
+ RefPtr<Runnable> task = NewRunnableMethod
+ <uint64_t, StoreCopyPassByConstLRef<nsTArray<ScrollableLayerGuid>>>
+ (mApzcTreeManager.get(), setTargetApzcFunc, aInputBlockId, aTargets);
APZThreadUtils::RunOnControllerThread(task.forget());
}
void
CompositorBridgeParent::InitializeLayerManager(const nsTArray<LayersBackend>& aBackendHints)
{
NS_ASSERTION(!mLayerManager, "Already initialised mLayerManager");