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