Closed Bug 1613143 Opened 2 months ago Closed 2 months ago

webrender can send empty transaction when parent doesn't have child's display list

Categories

(Core :: Graphics: WebRender, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla75
Fission Milestone M6
Tracking Status
firefox75 --- fixed

People

(Reporter: tnikkel, Assigned: tnikkel)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

No description provided.
Blocks: R-fis

I think this probably only shows up with fission oop iframes, tabs probably avoid this path.

The problem occurs when we reconstruct the containing iframe for a style change, we briefly hide the child document, clearing the display list on the parent via ClearCachedResources. Then show it again, we attempt an empty transaction and this succeeds because there is nothing to stop it. (The non-wr case fails because the layer contents are missing and that causes the empty transaction to fail.)

So keep track if we have sent a display list to the parent to allow/disallow an empty transaction.

This fixes a couple webrender+fission reftest failures but it's also a general rendering bug in webrender+fission reproducible in a regular browser.

Assignee: nobody → tnikkel
Status: NEW → ASSIGNED

Tracking R-fis bugs for Fission Nightly (M6)

Fission Milestone: --- → M6
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d46cb79a9b55
Don't allow an empty transaction to succeed with webrender if we haven't sent a display list to the parent. r=mattwoodrow

It's unexpected pass in a test I expect it to fix. I'll just mark it as random with fission for now because I don't know which of all my fission patches are required exactly to make it pass consistently, when all of my patches land I'll remove the annotation.

Flags: needinfo?(tnikkel)
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1012d4dab45b
Don't allow an empty transaction to succeed with webrender if we haven't sent a display list to the parent. r=mattwoodrow
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
You need to log in before you can comment on or make changes to this bug.