diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp --- a/gfx/layers/ipc/CompositorBridgeParent.cpp +++ b/gfx/layers/ipc/CompositorBridgeParent.cpp @@ -2376,30 +2376,28 @@ if (mWrBridge->PipelineId() == aPipelineId) { mWrBridge->RemoveEpochDataPriorTo(aEpoch); - if (!mPaused) { - if (mIsForcedFirstPaint) { - uiController->NotifyFirstPaint(); - mIsForcedFirstPaint = false; - } - - std::pair key(aPipelineId, aEpoch); - nsTArray payload = - mWrBridge->TakePendingScrollPayload(key); - if (!payload.IsEmpty()) { - RecordCompositionPayloadsPresented(payload); - } - - TransactionId transactionId = mWrBridge->FlushTransactionIdsForEpoch( - aEpoch, aCompositeStartId, aCompositeStart, aRenderStart, - aCompositeEnd, uiController); - Unused << SendDidComposite(LayersId{0}, transactionId, aCompositeStart, - aCompositeEnd); - - nsTArray notifications; - mWrBridge->ExtractImageCompositeNotifications(¬ifications); - if (!notifications.IsEmpty()) { - Unused << ImageBridgeParent::NotifyImageComposites(notifications); - } + if (mIsForcedFirstPaint) { + uiController->NotifyFirstPaint(); + mIsForcedFirstPaint = false; + } + + std::pair key(aPipelineId, aEpoch); + nsTArray payload = + mWrBridge->TakePendingScrollPayload(key); + if (!payload.IsEmpty()) { + RecordCompositionPayloadsPresented(payload); + } + + TransactionId transactionId = mWrBridge->FlushTransactionIdsForEpoch( + aEpoch, aCompositeStartId, aCompositeStart, aRenderStart, aCompositeEnd, + uiController); + Unused << SendDidComposite(LayersId{0}, transactionId, aCompositeStart, + aCompositeEnd); + + nsTArray notifications; + mWrBridge->ExtractImageCompositeNotifications(¬ifications); + if (!notifications.IsEmpty()) { + Unused << ImageBridgeParent::NotifyImageComposites(notifications); } return; } @@ -2408,21 +2406,19 @@ if (wrBridge && wrBridge->GetCompositorBridge()) { MOZ_ASSERT(!wrBridge->IsRootWebRenderBridgeParent()); wrBridge->RemoveEpochDataPriorTo(aEpoch); - if (!mPaused) { - std::pair key(aPipelineId, aEpoch); - nsTArray payload = - wrBridge->TakePendingScrollPayload(key); - if (!payload.IsEmpty()) { - RecordCompositionPayloadsPresented(payload); - } - - TransactionId transactionId = wrBridge->FlushTransactionIdsForEpoch( - aEpoch, aCompositeStartId, aCompositeStart, aRenderStart, - aCompositeEnd, uiController, aStats, &stats); - Unused << wrBridge->GetCompositorBridge()->SendDidComposite( - wrBridge->GetLayersId(), transactionId, aCompositeStart, - aCompositeEnd); + + std::pair key(aPipelineId, aEpoch); + nsTArray payload = + wrBridge->TakePendingScrollPayload(key); + if (!payload.IsEmpty()) { + RecordCompositionPayloadsPresented(payload); } + + TransactionId transactionId = wrBridge->FlushTransactionIdsForEpoch( + aEpoch, aCompositeStartId, aCompositeStart, aRenderStart, aCompositeEnd, + uiController, aStats, &stats); + Unused << wrBridge->GetCompositorBridge()->SendDidComposite( + wrBridge->GetLayersId(), transactionId, aCompositeStart, aCompositeEnd); } if (!stats.IsEmpty()) {