From 450185804e7c0e8f149c306829292dd26e7f13b3 Mon Sep 17 00:00:00 2001 From: Matt Woodrow Date: Tue, 6 Dec 2016 13:34:54 -1000 Subject: [PATCH] Bug 1325227 - Part 1: Remove synchronous transaction replies since they don't return any data we didn't already have. r=nical MozReview-Commit-ID: 2HIbk65L7zR --- gfx/layers/client/ClientPaintedLayer.cpp | 11 ++++---- gfx/layers/client/ClientPaintedLayer.h | 2 +- gfx/layers/client/ContentClient.cpp | 4 +++ gfx/layers/composite/CompositableHost.h | 6 ++--- gfx/layers/composite/ContentHost.cpp | 12 ++------- gfx/layers/composite/ContentHost.h | 9 +++---- gfx/layers/composite/TiledContentHost.h | 3 +-- .../ipc/CompositableTransactionParent.cpp | 9 ++----- .../ipc/CompositableTransactionParent.h | 5 +--- gfx/layers/ipc/ImageBridgeChild.cpp | 7 +---- gfx/layers/ipc/ImageBridgeParent.cpp | 15 +++-------- gfx/layers/ipc/ImageBridgeParent.h | 4 +-- gfx/layers/ipc/LayerTransactionParent.cpp | 20 +++----------- gfx/layers/ipc/LayerTransactionParent.h | 4 +-- gfx/layers/ipc/LayersMessages.ipdlh | 6 ----- gfx/layers/ipc/PImageBridge.ipdl | 3 +-- gfx/layers/ipc/PLayerTransaction.ipdl | 2 +- gfx/layers/ipc/ShadowLayers.cpp | 27 +------------------ gfx/layers/ipc/ShadowLayers.h | 3 --- gfx/layers/wr/WebRenderBridgeParent.cpp | 4 +-- 20 files changed, 36 insertions(+), 120 deletions(-) diff --git a/gfx/layers/client/ClientPaintedLayer.cpp b/gfx/layers/client/ClientPaintedLayer.cpp index c4a9bcb83c5f..8736d5723d81 100644 --- a/gfx/layers/client/ClientPaintedLayer.cpp +++ b/gfx/layers/client/ClientPaintedLayer.cpp @@ -30,7 +30,7 @@ namespace layers { using namespace mozilla::gfx; void -ClientPaintedLayer::PaintThebes() +ClientPaintedLayer::PaintThebes(nsTArray* aReadbackUpdates) { PROFILER_LABEL("ClientPaintedLayer", "PaintThebes", js::ProfileEntry::Category::GRAPHICS); @@ -38,6 +38,8 @@ ClientPaintedLayer::PaintThebes() NS_ASSERTION(ClientManager()->InDrawing(), "Can only draw in drawing phase"); + mContentClient->BeginPaint(); + uint32_t flags = RotatedContentBuffer::PAINT_CAN_DRAW_ROTATED; #ifndef MOZ_IGNORE_PAINT_WILL_RESAMPLE if (ClientManager()->CompositorMightResample()) { @@ -93,6 +95,8 @@ ClientPaintedLayer::PaintThebes() didUpdate = true; } + mContentClient->EndPaint(aReadbackUpdates); + if (didUpdate) { Mutated(); @@ -132,10 +136,7 @@ ClientPaintedLayer::RenderLayerWithReadback(ReadbackProcessor *aReadback) aReadback->GetPaintedLayerUpdates(this, &readbackUpdates); } - IntPoint origin(mVisibleRegion.GetBounds().x, mVisibleRegion.GetBounds().y); - mContentClient->BeginPaint(); - PaintThebes(); - mContentClient->EndPaint(&readbackUpdates); + PaintThebes(&readbackUpdates); } already_AddRefed diff --git a/gfx/layers/client/ClientPaintedLayer.h b/gfx/layers/client/ClientPaintedLayer.h index f484dfc99d04..22b6ea5ad16b 100644 --- a/gfx/layers/client/ClientPaintedLayer.h +++ b/gfx/layers/client/ClientPaintedLayer.h @@ -108,7 +108,7 @@ public: } protected: - void PaintThebes(); + void PaintThebes(nsTArray* aReadbackUpdates); virtual void PrintInfo(std::stringstream& aStream, const char* aPrefix) override; diff --git a/gfx/layers/client/ContentClient.cpp b/gfx/layers/client/ContentClient.cpp index a610ae207cd6..e70db2c35938 100644 --- a/gfx/layers/client/ContentClient.cpp +++ b/gfx/layers/client/ContentClient.cpp @@ -410,10 +410,14 @@ ContentClientRemoteBuffer::Updated(const nsIntRegion& aRegionToDraw, t->mPictureRect = nsIntRect(0, 0, size.width, size.height); GetForwarder()->UseTextures(this, textures); } + // This forces a synchronous transaction, so we can swap buffers now + // and know that we'll have sole ownership of the old front buffer + // by the time we paint next. mForwarder->UpdateTextureRegion(this, ThebesBufferData(BufferRect(), BufferRotation()), updatedRegion); + SwapBuffers(updatedRegion); } void diff --git a/gfx/layers/composite/CompositableHost.h b/gfx/layers/composite/CompositableHost.h index fdd2c05e82e9..4ec835aedb1d 100644 --- a/gfx/layers/composite/CompositableHost.h +++ b/gfx/layers/composite/CompositableHost.h @@ -105,13 +105,11 @@ public: /** * Update the content host. - * aUpdated is the region which should be updated - * aUpdatedRegionBack is the region in aNewBackResult which has been updated + * aUpdated is the region which should be updated. */ virtual bool UpdateThebes(const ThebesBufferData& aData, const nsIntRegion& aUpdated, - const nsIntRegion& aOldValidRegionBack, - nsIntRegion* aUpdatedRegionBack) + const nsIntRegion& aOldValidRegionBack) { NS_ERROR("should be implemented or not used"); return false; diff --git a/gfx/layers/composite/ContentHost.cpp b/gfx/layers/composite/ContentHost.cpp index 1d4344395774..07afad9ed00d 100644 --- a/gfx/layers/composite/ContentHost.cpp +++ b/gfx/layers/composite/ContentHost.cpp @@ -322,11 +322,8 @@ AddWrappedRegion(const nsIntRegion& aInput, nsIntRegion& aOutput, bool ContentHostSingleBuffered::UpdateThebes(const ThebesBufferData& aData, const nsIntRegion& aUpdated, - const nsIntRegion& aOldValidRegionBack, - nsIntRegion* aUpdatedRegionBack) + const nsIntRegion& aOldValidRegionBack) { - aUpdatedRegionBack->SetEmpty(); - if (!mTextureHost) { mInitialised = false; return true; // FIXME should we return false? Returning true for now @@ -385,13 +382,10 @@ ContentHostSingleBuffered::UpdateThebes(const ThebesBufferData& aData, bool ContentHostDoubleBuffered::UpdateThebes(const ThebesBufferData& aData, const nsIntRegion& aUpdated, - const nsIntRegion& aOldValidRegionBack, - nsIntRegion* aUpdatedRegionBack) + const nsIntRegion& aOldValidRegionBack) { if (!mTextureHost) { mInitialised = false; - - *aUpdatedRegionBack = aUpdated; return true; } @@ -407,8 +401,6 @@ ContentHostDoubleBuffered::UpdateThebes(const ThebesBufferData& aData, mBufferRect = aData.rect(); mBufferRotation = aData.rotation(); - *aUpdatedRegionBack = aUpdated; - // Save the current valid region of our front buffer, because if // we're double buffering, it's going to be the valid region for the // next back buffer sent back to the renderer. diff --git a/gfx/layers/composite/ContentHost.h b/gfx/layers/composite/ContentHost.h index 5137a4f5bb38..69121b736346 100644 --- a/gfx/layers/composite/ContentHost.h +++ b/gfx/layers/composite/ContentHost.h @@ -54,8 +54,7 @@ class ContentHost : public CompositableHost public: virtual bool UpdateThebes(const ThebesBufferData& aData, const nsIntRegion& aUpdated, - const nsIntRegion& aOldValidRegionBack, - nsIntRegion* aUpdatedRegionBack) = 0; + const nsIntRegion& aOldValidRegionBack) = 0; virtual void SetPaintWillResample(bool aResample) { mPaintWillResample = aResample; } bool PaintWillResample() { return mPaintWillResample; } @@ -197,8 +196,7 @@ public: virtual bool UpdateThebes(const ThebesBufferData& aData, const nsIntRegion& aUpdated, - const nsIntRegion& aOldValidRegionBack, - nsIntRegion* aUpdatedRegionBack); + const nsIntRegion& aOldValidRegionBack); protected: nsIntRegion mValidRegionForNextBackBuffer; @@ -220,8 +218,7 @@ public: virtual bool UpdateThebes(const ThebesBufferData& aData, const nsIntRegion& aUpdated, - const nsIntRegion& aOldValidRegionBack, - nsIntRegion* aUpdatedRegionBack); + const nsIntRegion& aOldValidRegionBack); }; } // namespace layers diff --git a/gfx/layers/composite/TiledContentHost.h b/gfx/layers/composite/TiledContentHost.h index 0c5c9d89b892..c9d42170c228 100644 --- a/gfx/layers/composite/TiledContentHost.h +++ b/gfx/layers/composite/TiledContentHost.h @@ -202,8 +202,7 @@ public: virtual bool UpdateThebes(const ThebesBufferData& aData, const nsIntRegion& aUpdated, - const nsIntRegion& aOldValidRegionBack, - nsIntRegion* aUpdatedRegionBack) override + const nsIntRegion& aOldValidRegionBack) override { NS_ERROR("N/A for tiled layers"); return false; diff --git a/gfx/layers/ipc/CompositableTransactionParent.cpp b/gfx/layers/ipc/CompositableTransactionParent.cpp index 8bf5da682850..13e1188c708e 100644 --- a/gfx/layers/ipc/CompositableTransactionParent.cpp +++ b/gfx/layers/ipc/CompositableTransactionParent.cpp @@ -61,8 +61,7 @@ ScheduleComposition(CompositableHost* aCompositable) } bool -CompositableParentManager::ReceiveCompositableUpdate(const CompositableOperation& aEdit, - EditReplyVector& replyv) +CompositableParentManager::ReceiveCompositableUpdate(const CompositableOperation& aEdit) { // Ignore all operations on compositables created on stale compositors. We // return true because the child is unable to handle errors. @@ -89,16 +88,12 @@ CompositableParentManager::ReceiveCompositableUpdate(const CompositableOperation RenderTraceInvalidateStart(thebes, "FF00FF", op.updatedRegion().GetBounds()); - nsIntRegion frontUpdatedRegion; if (!compositable->UpdateThebes(bufferData, op.updatedRegion(), - thebes->GetValidRegion(), - &frontUpdatedRegion)) + thebes->GetValidRegion())) { return false; } - replyv.push_back( - OpContentBufferSwap(aEdit.compositable(), frontUpdatedRegion)); RenderTraceInvalidateEnd(thebes, "FF00FF"); break; diff --git a/gfx/layers/ipc/CompositableTransactionParent.h b/gfx/layers/ipc/CompositableTransactionParent.h index fca5a6db640d..ad236b7a162e 100644 --- a/gfx/layers/ipc/CompositableTransactionParent.h +++ b/gfx/layers/ipc/CompositableTransactionParent.h @@ -17,8 +17,6 @@ namespace mozilla { namespace layers { -typedef std::vector EditReplyVector; - // Since PCompositble has two potential manager protocols, we can't just call // the Manager() method usually generated when there's one manager protocol, // so both manager protocols implement this and we keep a reference to them @@ -47,8 +45,7 @@ protected: /** * Handle the IPDL messages that affect PCompositable actors. */ - bool ReceiveCompositableUpdate(const CompositableOperation& aEdit, - EditReplyVector& replyv); + bool ReceiveCompositableUpdate(const CompositableOperation& aEdit); void ReleaseCompositable(const CompositableHandle& aHandle); diff --git a/gfx/layers/ipc/ImageBridgeChild.cpp b/gfx/layers/ipc/ImageBridgeChild.cpp index 6a939b7bc5f2..cd0e551351f0 100644 --- a/gfx/layers/ipc/ImageBridgeChild.cpp +++ b/gfx/layers/ipc/ImageBridgeChild.cpp @@ -555,10 +555,8 @@ ImageBridgeChild::EndTransaction() ShadowLayerForwarder::PlatformSyncBeforeUpdate(); } - AutoTArray replies; - if (mTxn->mSwapRequired) { - if (!SendUpdate(cset, mTxn->mDestroyedActors, GetFwdTransactionId(), &replies)) { + if (!SendUpdate(cset, mTxn->mDestroyedActors, GetFwdTransactionId())) { NS_WARNING("could not send async texture transaction"); return; } @@ -570,9 +568,6 @@ ImageBridgeChild::EndTransaction() return; } } - for (nsTArray::size_type i = 0; i < replies.Length(); ++i) { - MOZ_CRASH("not reached"); - } } void diff --git a/gfx/layers/ipc/ImageBridgeParent.cpp b/gfx/layers/ipc/ImageBridgeParent.cpp index ddd168a167bb..8ae7b3872b2c 100644 --- a/gfx/layers/ipc/ImageBridgeParent.cpp +++ b/gfx/layers/ipc/ImageBridgeParent.cpp @@ -154,26 +154,19 @@ private: mozilla::ipc::IPCResult ImageBridgeParent::RecvUpdate(EditArray&& aEdits, OpDestroyArray&& aToDestroy, - const uint64_t& aFwdTransactionId, - EditReplyArray* aReply) + const uint64_t& aFwdTransactionId) { // This ensures that destroy operations are always processed. It is not safe // to early-return from RecvUpdate without doing so. AutoImageBridgeParentAsyncMessageSender autoAsyncMessageSender(this, &aToDestroy); UpdateFwdTransactionId(aFwdTransactionId); - EditReplyVector replyv; for (EditArray::index_type i = 0; i < aEdits.Length(); ++i) { - if (!ReceiveCompositableUpdate(aEdits[i], replyv)) { + if (!ReceiveCompositableUpdate(aEdits[i])) { return IPC_FAIL_NO_REASON(this); } } - aReply->SetCapacity(replyv.size()); - if (replyv.size() > 0) { - aReply->AppendElements(&replyv.front(), replyv.size()); - } - if (!IsSameProcess()) { // Ensure that any pending operations involving back and front // buffers have completed, so that neither process stomps on the @@ -188,9 +181,7 @@ mozilla::ipc::IPCResult ImageBridgeParent::RecvUpdateNoSwap(EditArray&& aEdits, OpDestroyArray&& aToDestroy, const uint64_t& aFwdTransactionId) { - InfallibleTArray noReplies; - bool success = RecvUpdate(Move(aEdits), Move(aToDestroy), aFwdTransactionId, &noReplies); - MOZ_ASSERT(noReplies.Length() == 0, "RecvUpdateNoSwap requires a sync Update to carry Edits"); + bool success = RecvUpdate(Move(aEdits), Move(aToDestroy), aFwdTransactionId); if (!success) { return IPC_FAIL_NO_REASON(this); } diff --git a/gfx/layers/ipc/ImageBridgeParent.h b/gfx/layers/ipc/ImageBridgeParent.h index f8f4e9ed973e..f0c8dd00b89d 100644 --- a/gfx/layers/ipc/ImageBridgeParent.h +++ b/gfx/layers/ipc/ImageBridgeParent.h @@ -43,7 +43,6 @@ class ImageBridgeParent final : public PImageBridgeParent, public: typedef InfallibleTArray EditArray; typedef InfallibleTArray OpDestroyArray; - typedef InfallibleTArray EditReplyArray; protected: ImageBridgeParent(MessageLoop* aLoop, ProcessId aChildProcessId); @@ -72,8 +71,7 @@ public: // PImageBridge virtual mozilla::ipc::IPCResult RecvImageBridgeThreadId(const PlatformThreadId& aThreadId) override; virtual mozilla::ipc::IPCResult RecvUpdate(EditArray&& aEdits, OpDestroyArray&& aToDestroy, - const uint64_t& aFwdTransactionId, - EditReplyArray* aReply) override; + const uint64_t& aFwdTransactionId) override; virtual mozilla::ipc::IPCResult RecvUpdateNoSwap(EditArray&& aEdits, OpDestroyArray&& aToDestroy, const uint64_t& aFwdTransactionId) override; diff --git a/gfx/layers/ipc/LayerTransactionParent.cpp b/gfx/layers/ipc/LayerTransactionParent.cpp index c863f09f09f9..dc6fbd0e889e 100644 --- a/gfx/layers/ipc/LayerTransactionParent.cpp +++ b/gfx/layers/ipc/LayerTransactionParent.cpp @@ -41,8 +41,6 @@ #include "mozilla/layers/TextureHost.h" #include "mozilla/layers/AsyncCompositionManager.h" -typedef std::vector EditReplyVector; - using mozilla::layout::RenderFrameParent; namespace mozilla { @@ -99,7 +97,7 @@ LayerTransactionParent::Destroy() mozilla::ipc::IPCResult LayerTransactionParent::RecvUpdateNoSwap(const TransactionInfo& txn) { - return RecvUpdate(txn, nullptr); + return RecvUpdate(txn); } class MOZ_STACK_CLASS AutoLayerTransactionParentAsyncMessageSender @@ -140,8 +138,7 @@ LayerTransactionParent::RecvPaintTime(const uint64_t& aTransactionId, } mozilla::ipc::IPCResult -LayerTransactionParent::RecvUpdate(const TransactionInfo& aInfo, - InfallibleTArray* reply) +LayerTransactionParent::RecvUpdate(const TransactionInfo& aInfo) { GeckoProfilerTracingRAII tracer("Paint", "LayerTransaction"); PROFILER_LABEL("LayerTransactionParent", "RecvUpdate", @@ -165,7 +162,6 @@ LayerTransactionParent::RecvUpdate(const TransactionInfo& aInfo, // This ensures that destroy operations are always processed. It is not safe // to early-return from RecvUpdate without doing so. AutoLayerTransactionParentAsyncMessageSender autoAsyncMessageSender(this, &aInfo.toDestroy()); - EditReplyVector replyv; { AutoResolveRefLayers resolve(mCompositorBridge->GetCompositionManager(this)); @@ -385,8 +381,7 @@ LayerTransactionParent::RecvUpdate(const TransactionInfo& aInfo, break; } case Edit::TCompositableOperation: { - if (!ReceiveCompositableUpdate(edit.get_CompositableOperation(), - replyv)) { + if (!ReceiveCompositableUpdate(edit.get_CompositableOperation())) { return IPC_FAIL_NO_REASON(this); } break; @@ -462,7 +457,7 @@ LayerTransactionParent::RecvUpdate(const TransactionInfo& aInfo, // Process paints separately, after all normal edits. for (const auto& op : aInfo.paints()) { - if (!ReceiveCompositableUpdate(op, replyv)) { + if (!ReceiveCompositableUpdate(op)) { return IPC_FAIL_NO_REASON(this); } } @@ -474,13 +469,6 @@ LayerTransactionParent::RecvUpdate(const TransactionInfo& aInfo, layer_manager()->EndTransaction(TimeStamp(), LayerManager::END_NO_IMMEDIATE_REDRAW); } - if (reply) { - reply->SetCapacity(replyv.size()); - if (replyv.size() > 0) { - reply->AppendElements(&replyv.front(), replyv.size()); - } - } - if (!IsSameProcess()) { // Ensure that any pending operations involving back and front // buffers have completed, so that neither process stomps on the diff --git a/gfx/layers/ipc/LayerTransactionParent.h b/gfx/layers/ipc/LayerTransactionParent.h index 76b6d32aa08f..8976e34f16b5 100644 --- a/gfx/layers/ipc/LayerTransactionParent.h +++ b/gfx/layers/ipc/LayerTransactionParent.h @@ -42,7 +42,6 @@ class LayerTransactionParent final : public PLayerTransactionParent, typedef mozilla::layout::RenderFrameParent RenderFrameParent; typedef InfallibleTArray EditArray; typedef InfallibleTArray OpDestroyArray; - typedef InfallibleTArray EditReplyArray; typedef InfallibleTArray PluginsArray; public: @@ -112,8 +111,7 @@ protected: virtual mozilla::ipc::IPCResult RecvPaintTime(const uint64_t& aTransactionId, const TimeDuration& aPaintTime) override; - virtual mozilla::ipc::IPCResult RecvUpdate(const TransactionInfo& aInfo, - EditReplyArray* reply) override; + virtual mozilla::ipc::IPCResult RecvUpdate(const TransactionInfo& aInfo) override; virtual mozilla::ipc::IPCResult RecvUpdateNoSwap(const TransactionInfo& aInfo) override; diff --git a/gfx/layers/ipc/LayersMessages.ipdlh b/gfx/layers/ipc/LayersMessages.ipdlh index 935fb071867c..6a678ed2f081 100644 --- a/gfx/layers/ipc/LayersMessages.ipdlh +++ b/gfx/layers/ipc/LayersMessages.ipdlh @@ -506,12 +506,6 @@ struct ImageCompositeNotification { uint32_t producerID; }; -// Unit of a "changeset reply". This is a weird abstraction, probably -// only to be used for buffer swapping. -union EditReply { - OpContentBufferSwap; -}; - union AsyncParentMessageData { OpNotifyNotUsed; }; diff --git a/gfx/layers/ipc/PImageBridge.ipdl b/gfx/layers/ipc/PImageBridge.ipdl index 2cde51945d63..d6e19d6d4dff 100644 --- a/gfx/layers/ipc/PImageBridge.ipdl +++ b/gfx/layers/ipc/PImageBridge.ipdl @@ -38,8 +38,7 @@ child: parent: async ImageBridgeThreadId(PlatformThreadId aTreahdId); - sync Update(CompositableOperation[] ops, OpDestroy[] toDestroy, uint64_t fwdTransactionId) - returns (EditReply[] reply); + sync Update(CompositableOperation[] ops, OpDestroy[] toDestroy, uint64_t fwdTransactionId); async UpdateNoSwap(CompositableOperation[] ops, OpDestroy[] toDestroy, uint64_t fwdTransactionId); diff --git a/gfx/layers/ipc/PLayerTransaction.ipdl b/gfx/layers/ipc/PLayerTransaction.ipdl index b09c20f84a2b..aae3f08331a1 100644 --- a/gfx/layers/ipc/PLayerTransaction.ipdl +++ b/gfx/layers/ipc/PLayerTransaction.ipdl @@ -52,7 +52,7 @@ sync protocol PLayerTransaction { parent: // The isFirstPaint flag can be used to indicate that this is the first update // for a particular document. - sync Update(TransactionInfo txn) returns (EditReply[] reply); + sync Update(TransactionInfo txn); async PaintTime(uint64_t id, TimeDuration paintTime); diff --git a/gfx/layers/ipc/ShadowLayers.cpp b/gfx/layers/ipc/ShadowLayers.cpp index 7dc75aa7982e..7978fac896f7 100644 --- a/gfx/layers/ipc/ShadowLayers.cpp +++ b/gfx/layers/ipc/ShadowLayers.cpp @@ -727,15 +727,13 @@ ShadowLayerForwarder::EndTransaction(const nsIntRegion& aRegionToClear, profiler_tracing("Paint", "Rasterize", TRACING_INTERVAL_END); - AutoTArray replies; if (mTxn->mSwapRequired) { MOZ_LAYERS_LOG(("[LayersForwarder] sending transaction...")); RenderTraceScope rendertrace3("Forward Transaction", "000093"); - if (!mShadowManager->SendUpdate(info, &replies)) { + if (!mShadowManager->SendUpdate(info)) { MOZ_LAYERS_LOG(("[LayersForwarder] WARNING: sending transaction failed!")); return false; } - ProcessReplies(replies); } else { // If we don't require a swap we can call SendUpdateNoSwap which // assumes that aReplies is empty (DEBUG assertion) @@ -754,29 +752,6 @@ ShadowLayerForwarder::EndTransaction(const nsIntRegion& aRegionToClear, return true; } -void -ShadowLayerForwarder::ProcessReplies(const nsTArray& aReplies) -{ - for (const auto& reply : aReplies) { - switch (reply.type()) { - case EditReply::TOpContentBufferSwap: { - MOZ_LAYERS_LOG(("[LayersForwarder] DoubleBufferSwap")); - - const OpContentBufferSwap& obs = reply.get_OpContentBufferSwap(); - - RefPtr compositable = FindCompositable(obs.compositable()); - ContentClientRemote* contentClient = compositable->AsContentClientRemote(); - MOZ_ASSERT(contentClient); - - contentClient->SwapBuffers(obs.frontUpdatedRegion()); - break; - } - default: - MOZ_CRASH("not reached"); - } - } -} - RefPtr ShadowLayerForwarder::FindCompositable(const CompositableHandle& aHandle) { diff --git a/gfx/layers/ipc/ShadowLayers.h b/gfx/layers/ipc/ShadowLayers.h index c80eb34c99e1..fc4748294108 100644 --- a/gfx/layers/ipc/ShadowLayers.h +++ b/gfx/layers/ipc/ShadowLayers.h @@ -33,7 +33,6 @@ namespace layers { class ClientLayerManager; class CompositorBridgeChild; -class EditReply; class FixedSizeSmallShmemSectionAllocator; class ImageContainer; class Layer; @@ -421,8 +420,6 @@ protected: void CheckSurfaceDescriptor(const SurfaceDescriptor* aDescriptor) const {} #endif - void ProcessReplies(const nsTArray& aReplies); - RefPtr FindCompositable(const CompositableHandle& aHandle); bool InWorkerThread(); diff --git a/gfx/layers/wr/WebRenderBridgeParent.cpp b/gfx/layers/wr/WebRenderBridgeParent.cpp index 2cbc1b01b95c..9a26cc28e9dc 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.cpp +++ b/gfx/layers/wr/WebRenderBridgeParent.cpp @@ -336,9 +336,7 @@ WebRenderBridgeParent::ProcessWebrenderCommands(InfallibleTArray