Bug 1429694 - Fix WebRenderLayerManager::ClearCachedResources r=nical

This commit is contained in:
sotaro 2018-01-15 16:17:40 +09:00
Родитель bf1d5c0073
Коммит 4bd6341225
3 изменённых файлов: 9 добавлений и 1 удалений

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

@ -599,6 +599,10 @@ void
WebRenderBridgeChild::BeginClearCachedResources()
{
mIsInClearCachedResources = true;
// Clear display list and animtaions at parent side before clearing cached
// resources on client side. It prevents to clear resources before clearing
// display list at parent side.
SendClearCachedResources();
}
void
@ -609,7 +613,6 @@ WebRenderBridgeChild::EndClearCachedResources()
return;
}
ProcessWebRenderParentCommands();
SendClearCachedResources();
mIsInClearCachedResources = false;
}

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

@ -514,6 +514,7 @@ void
WebRenderLayerManager::ClearCachedResources(Layer* aSubtree)
{
WrBridge()->BeginClearCachedResources();
mWebRenderCommandBuilder.ClearCachedResources();
DiscardImages();
WrBridge()->EndClearCachedResources();
}

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

@ -88,6 +88,10 @@ WebRenderImageData::ClearCachedResources()
WrBridge()->RemovePipelineIdForCompositable(mPipelineId.ref());
mPipelineId.reset();
}
if (mImageClient) {
mImageClient = nullptr;
}
}
Maybe<wr::ImageKey>