зеркало из https://github.com/mozilla/gecko-dev.git
Don't let stale async compositables break main-thread paint transactions. (bug 1331548 part 1, r=mattwoodrow)
This commit is contained in:
Родитель
8d6e3c6341
Коммит
436f68228a
|
@ -420,8 +420,12 @@ LayerTransactionParent::RecvUpdate(const TransactionInfo& aInfo,
|
||||||
}
|
}
|
||||||
RefPtr<CompositableHost> host = imageBridge->FindCompositable(op.compositable());
|
RefPtr<CompositableHost> host = imageBridge->FindCompositable(op.compositable());
|
||||||
if (!host) {
|
if (!host) {
|
||||||
NS_ERROR("CompositableHost not found in the map");
|
// This normally should not happen, but can after a GPU process crash.
|
||||||
return IPC_FAIL_NO_REASON(this);
|
// Media may not have had time to update the ImageContainer associated
|
||||||
|
// with a video frame, and we may try to attach a stale CompositableHandle.
|
||||||
|
// Rather than break the whole transaction, we just continue.
|
||||||
|
gfxCriticalNote << "CompositableHost " << op.compositable().Value() << " not found";
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
if (!Attach(AsLayer(op.layer()), host, true)) {
|
if (!Attach(AsLayer(op.layer()), host, true)) {
|
||||||
return IPC_FAIL_NO_REASON(this);
|
return IPC_FAIL_NO_REASON(this);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче