Bug 1470090 - Fix LayerObserverEpoch handling r=nical

This commit is contained in:
sotaro 2018-06-21 22:39:45 +09:00
Родитель f9a58d501d
Коммит 771f6241c0
2 изменённых файлов: 11 добавлений и 4 удалений

Просмотреть файл

@ -3228,6 +3228,9 @@ TabChild::ReinitRendering()
gfx::VRManagerChild::IdentifyTextureHost(mTextureFactoryIdentifier);
InitAPZState();
RefPtr<LayerManager> lm = mPuppetWidget->GetLayerManager();
MOZ_ASSERT(lm);
lm->SetLayerObserverEpoch(mLayerObserverEpoch);
nsCOMPtr<nsIDocument> doc(GetDocument());
doc->NotifyLayerManagerRecreated();

Просмотреть файл

@ -682,10 +682,6 @@ WebRenderBridgeParent::RecvSetDisplayList(const gfx::IntSize& aSize,
// build is done, so we don't need to do it here.
ScheduleGenerateFrame();
}
if (ShouldParentObserveEpoch()) {
mCompositorBridge->ObserveLayerUpdate(GetLayersId(), GetChildLayerObserverEpoch(), true);
}
}
HoldPendingTransactionId(wrEpoch, aTransactionId, aTxnStartTime, aFwdTime);
@ -697,6 +693,10 @@ WebRenderBridgeParent::RecvSetDisplayList(const gfx::IntSize& aSize,
mCompositorBridge->DidComposite(GetLayersId(), now, now);
}
if (ShouldParentObserveEpoch()) {
mCompositorBridge->ObserveLayerUpdate(GetLayersId(), GetChildLayerObserverEpoch(), true);
}
wr::IpcResourceUpdateQueue::ReleaseShmems(this, aSmallShmems);
wr::IpcResourceUpdateQueue::ReleaseShmems(this, aLargeShmems);
return IPC_OK();
@ -771,6 +771,10 @@ WebRenderBridgeParent::RecvEmptyTransaction(const FocusTarget& aFocusTarget,
mCompositorBridge->DidComposite(GetLayersId(), now, now);
}
if (ShouldParentObserveEpoch()) {
mCompositorBridge->ObserveLayerUpdate(GetLayersId(), GetChildLayerObserverEpoch(), true);
}
return IPC_OK();
}