Bug 1449242 - Don't delay image key deletions by an extra transaction. r=sotaro
This commit is contained in:
@@ -108,7 +108,6 @@ WebRenderLayerManager::DoDestroy(bool aIsSync)
|
||||
|
||||
if (WrBridge()) {
|
||||
// Just clear ImageKeys, they are deleted during WebRenderAPI destruction.
|
||||
mImageKeysToDeleteLater.Clear();
|
||||
mImageKeysToDelete.Clear();
|
||||
// CompositorAnimations are cleared by WebRenderBridgeParent.
|
||||
mDiscardedCompositorAnimationsIds.Clear();
|
||||
@@ -298,7 +297,6 @@ WebRenderLayerManager::EndTransactionWithoutLayer(nsDisplayList* aDisplayList,
|
||||
resourceUpdates.DeleteImage(key);
|
||||
}
|
||||
mImageKeysToDelete.Clear();
|
||||
mImageKeysToDelete.SwapElements(mImageKeysToDeleteLater);
|
||||
|
||||
WrBridge()->RemoveExpiredFontKeys(resourceUpdates);
|
||||
|
||||
@@ -406,20 +404,16 @@ WebRenderLayerManager::MakeSnapshotIfRequired(LayoutDeviceIntSize aSize)
|
||||
void
|
||||
WebRenderLayerManager::AddImageKeyForDiscard(wr::ImageKey key)
|
||||
{
|
||||
mImageKeysToDeleteLater.AppendElement(key);
|
||||
mImageKeysToDelete.AppendElement(key);
|
||||
}
|
||||
|
||||
void
|
||||
WebRenderLayerManager::DiscardImages()
|
||||
{
|
||||
wr::IpcResourceUpdateQueue resources(WrBridge());
|
||||
for (const auto& key : mImageKeysToDeleteLater) {
|
||||
resources.DeleteImage(key);
|
||||
}
|
||||
for (const auto& key : mImageKeysToDelete) {
|
||||
resources.DeleteImage(key);
|
||||
}
|
||||
mImageKeysToDeleteLater.Clear();
|
||||
mImageKeysToDelete.Clear();
|
||||
WrBridge()->UpdateResources(resources);
|
||||
}
|
||||
@@ -462,7 +456,6 @@ WebRenderLayerManager::DiscardLocalImages()
|
||||
// Removes images but doesn't tell the parent side about them
|
||||
// This is useful in empty / failed transactions where we created
|
||||
// image keys but didn't tell the parent about them yet.
|
||||
mImageKeysToDeleteLater.Clear();
|
||||
mImageKeysToDelete.Clear();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user