Closed Bug 1703244 Opened 5 years ago Closed 5 years ago

Flush async updates during WebRenderLayerManager::ClearCachedResources

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

RESOLVED FIXED
89 Branch
Tracking Status
firefox89 --- fixed

People

(Reporter: aosmond, Assigned: aosmond)

Details

Attachments

(1 file)

There may be async updates queued for the layer manager when we call WebRenderLayerManager::ClearCachedResources. This could be an animated image updating its next frame when the user switches tabs. Currently this can cause an entry to be added to the critical log because we end up deleting the animated image key before the update is applied and the resource update fails. It is better to flush the update first, before clearing, which should largely be a no-op since we are already clearing the display list itself.

STR:

  1. Open https://www.reddit.com, wait for the page to finish loading.
  2. Open a new tab, go to about:support and observe the missing "Updating unknown shared surface" entry in the critical log.
Pushed by aosmond@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6df772b29a9d Flush pending async resource updates when clearing layer manager cache. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch
QA Whiteboard: [qa-89b-p2]

I'm trying to reproduce the issue following the mentioned steps but I'm having trouble getting to the described result. Can you please provide more information?
I mention that I can't find the "Updating unknown shared surface" entry in the latest Nightly either.

Flags: needinfo?(aosmond)
Flags: needinfo?(aosmond)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: