Closed Bug 1506005 Opened 6 years ago Closed 6 years ago

Remove restriction that there is only one in flight paint at a time

Categories

(Core Graveyard :: Web Replay, enhancement)

enhancement
Not set
normal

Tracking

(firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
Bug 1499186 added a restriction that we can only have one in flight paint at a time, except for repaints initiated by the debugger.  This was done to preserve the invariant that any Paint message sent by a child reflects the state at the last checkpoint, but it has also been problematic because if a paint is triggered in some way other than through a vsync, we can end up with multiple in flight paints and crash on an assertion.

The attached patch removes this restriction and allows multiple in flight paints at a time.  We still preserve the above invariant: if a new paint is started before the previous one finishes, we don't send a Paint message for the first paint when it completes.  The ability to ignore vsyncs by returning false from OnVsync is not required for correctness anymore, but I left it in as it ensures we can't get any pathological behavior where most paints overlap the previous one and the page's graphics are infrequently updated.
Attachment #9023838 - Flags: review?(nical.bugzilla)
Attachment #9023838 - Flags: review?(nical.bugzilla) → review+
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/24370d1616e8
Remove restriction that there is only one in flight paint at a time, r=nical.
https://hg.mozilla.org/mozilla-central/rev/24370d1616e8
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: