Bug 1361111 - Avoid sending IPDL messages over a dead channel. r?jerry
If the GPU process resets, we get a call to destroy the WebRenderLayerManager.
This in turns tries to send messages over the PWebRenderBridge channel which
has already been torn down. We should detect this case and avoid sending the
messages.
MozReview-Commit-ID: AV3q0WVpPN5
--- a/gfx/layers/wr/WebRenderLayerManager.cpp
+++ b/gfx/layers/wr/WebRenderLayerManager.cpp
@@ -295,18 +295,20 @@ void
WebRenderLayerManager::AddImageKeyForDiscard(wr::ImageKey key)
{
mImageKeys.push_back(key);
}
void
WebRenderLayerManager::DiscardImages()
{
- for (auto key : mImageKeys) {
+ if (!WrBridge()->IsDestroyed()) {
+ for (auto key : mImageKeys) {
WrBridge()->SendDeleteImage(key);
+ }
}
mImageKeys.clear();
}
void
WebRenderLayerManager::AddCompositorAnimationsIdForDiscard(uint64_t aId)
{
mDiscardedCompositorAnimationsIds.push_back(aId);