Closed Bug 1886022 Opened 7 months ago Closed 7 months ago

Refactor canvas shutdown to account for process crashes

Categories

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

defect

Tracking

()

RESOLVED FIXED
126 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox124 --- wontfix
firefox125 --- fixed
firefox126 --- fixed

People

(Reporter: aosmond, Assigned: aosmond)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

No description provided.
Severity: -- → S3
Priority: -- → P3

We previously refactor canvas shutdown to account for the fact that they
needed to be shutdown in conjunction with the DOM worker reference
kept alive by the CanvasManagerChild. Unfortunately if the compositor
process crashes, or otherwise the CanvasManagerChild actor is torn down,
we also prematurely shutdown the canvas when it would previously
fallback to Skia in the content process.

This patch abstracts out canvas shutdown into the CanvasShutdownManager
which has the owning reference to the ThreadSafeWorkerRef. It corrects a
similar bug on the main thread as well for HTMLCanvasElement.

Blocks: 1882573
Pushed by aosmond@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0e250e45603a Refactor canvas shutdown to account for process crashes. r=gfx-reviewers,lsalzman

Missing header.

Flags: needinfo?(aosmond)
Pushed by aosmond@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5b4c193400a2 Refactor canvas shutdown to account for process crashes. r=gfx-reviewers,lsalzman
Status: ASSIGNED → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → 126 Branch

The patch landed in nightly and beta is affected.
:aosmond, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox125 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(aosmond)

Comment on attachment 9391867 [details]
Bug 1886022 - Refactor canvas shutdown to account for process crashes.

Beta/Release Uplift Approval Request

  • User impact if declined: OffscreenCanvas and HTMLCanvasElement may break when the GPU process crashes or runs into IPDL errors
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It moves us back to the original behaviour used by HTMLCanvasElement expanded to DOM workers. It will be a lot more consistent.
  • String changes made/needed:
  • Is Android affected?: Yes
Flags: needinfo?(aosmond)
Attachment #9391867 - Flags: approval-mozilla-beta?

Comment on attachment 9391867 [details]
Bug 1886022 - Refactor canvas shutdown to account for process crashes.

Approved for 125.0b4.

Attachment #9391867 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Blocks: 1887729
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: