fune/dom/canvas
Andrew Osmond 0a149a309c Bug 1886022 - Refactor canvas shutdown to account for process crashes. r=gfx-reviewers,lsalzman
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.

Differential Revision: https://phabricator.services.mozilla.com/D204988
2024-03-19 14:09:13 +00:00
..
crashtests Bug 1884195 - Replace reftest.list conditions that are the same. r=aryx,jgilbert,emilio 2024-03-11 16:38:03 +00:00
gtest Bug 1875136 - Add RENDERER sanitization bucket for Intel Arc A750. r=gfx-reviewers,lsalzman 2024-01-23 18:01:56 +00:00
test Backed out changeset fccadc284fd9 (bug 1753275) for causing perma mochitest failures @ dom/canvas/test/test_capture_throttled.html CLOSED TREE 2024-03-19 15:47:52 +02:00
CacheInvalidator.cpp
CacheInvalidator.h Bug 1870585 - Add webgl::dmd_unordered_map for WebGLTexture memory reporting of cache map. r=gfx-reviewers,lsalzman,bradwerth 2024-03-11 17:37:24 +00:00
CanvasGradient.cpp
CanvasGradient.h
CanvasImageCache.cpp Bug 1851395 - Remove canvas.createConicGradient.enabled pref r=webidl,peterv 2023-09-18 22:09:35 +00:00
CanvasImageCache.h
CanvasPath.h
CanvasPattern.cpp Bug 1856795 - Remove redundant member init r=emilio 2023-10-15 15:29:02 +00:00
CanvasPattern.h
CanvasRenderingContext2D.cpp Bug 1886022 - Refactor canvas shutdown to account for process crashes. r=gfx-reviewers,lsalzman 2024-03-19 14:09:13 +00:00
CanvasRenderingContext2D.h Bug 1886022 - Refactor canvas shutdown to account for process crashes. r=gfx-reviewers,lsalzman 2024-03-19 14:09:13 +00:00
CanvasRenderingContextHelper.cpp Bug 1870957 - Part 4. Refactor canvas shutdown to be synchronized with CanvasManagerChild. r=lsalzman 2023-12-20 13:01:19 +00:00
CanvasRenderingContextHelper.h Bug 1804746 - Make HTMLCanvasElement's toBlob to work with OffscreenCanvas. r=gfx-reviewers,lsalzman 2023-09-19 11:58:11 +00:00
CanvasUtils.cpp Bug 1713619 - Exempt chrome/resource (incl PDF.js) principals from canvas randomization/placeholders. r=lsalzman 2023-12-22 13:38:39 +00:00
CanvasUtils.h Bug 1856732 - WebExtensions should not be subject to random canvas noise for fingerprint resistance. r=timhuang,gfx-reviewers,lsalzman 2023-12-13 11:33:25 +00:00
ClientWebGLContext.cpp Bug 1885028 - PlainOldDataSerializer use removed from dom/canvas. r=gfx-reviewers,lsalzman,ahale 2024-03-14 00:21:23 +00:00
ClientWebGLContext.h Bug 1878930 - s/RawBuffer/Span/: ReadPixels. r=gfx-reviewers,lsalzman 2024-02-29 00:37:28 +00:00
ClientWebGLExtensions.cpp
ClientWebGLExtensions.h
DmdStdContainers.h Bug 1870585 - Add webgl::dmd_unordered_map for WebGLTexture memory reporting of cache map. r=gfx-reviewers,lsalzman,bradwerth 2024-03-11 17:37:24 +00:00
DrawTargetWebgl.cpp Backed out 3 changesets (bug 1764201) for causing multiple failures, including build bustages @ widget/windows/ScreenHelperWin.cpp CLOSED TREE 2024-03-19 17:12:40 +02:00
DrawTargetWebgl.h Bug 1881194 - Send TexTypeForWebgl from CanvasChild to CanvasTranslator. r=sotaro 2024-02-22 04:28:44 +00:00
DrawTargetWebglInternal.h Bug 1871613 - Ensure CanvasDrawEventRecorder releases external surface dependencies. r=gfx-reviewers,lsalzman 2023-12-23 01:34:31 +00:00
GeneratePlaceholderCanvasData.h
HostWebGLContext.cpp Bug 1829026 - Allow WebGLContext to work without a host or client wrapper. r=jgilbert,aosmond 2023-12-18 18:10:45 +00:00
HostWebGLContext.h Bug 1878930 - s/RawBuffer/Span/: UniformData. r=gfx-reviewers,lsalzman 2024-02-29 00:37:28 +00:00
ImageBitmap.cpp Bug 1883435 - Don't include GleanMetrics.h from Document.h. r=chutten,necko-reviewers,valentin 2024-03-05 17:54:14 +00:00
ImageBitmap.h
ImageBitmapRenderingContext.cpp Bug 1850871 - Resize canvas in ImageBitmapRenderingContext::TransferFromImageBitmap. r=gfx-reviewers,lsalzman 2023-10-16 11:23:43 +00:00
ImageBitmapRenderingContext.h
ImageBitmapSource.h
ImageData.cpp Bug 1849037 - Add ErrorResult to TypedArray::Create. r=necko-reviewers,extension-reviewers,media-playback-reviewers,webidl,profiler-reviewers,farre,padenot,smaug,robwu,jesup,aabh 2023-11-11 08:24:05 +00:00
ImageData.h
ImageUtils.cpp Bug 1640839 - Stop using ImageBitmapFormat::EndGuard_. r=jgilbert 2024-03-02 07:50:23 +00:00
ImageUtils.h Bug 1640839 - Stop using ImageBitmapFormat::EndGuard_. r=jgilbert 2024-03-02 07:50:23 +00:00
moz.build Bug 1870585 - Add webgl::dmd_unordered_map for WebGLTexture memory reporting of cache map. r=gfx-reviewers,lsalzman,bradwerth 2024-03-11 17:37:24 +00:00
MurmurHash3.cpp
MurmurHash3.h
nsICanvasRenderingContextInternal.cpp
nsICanvasRenderingContextInternal.h Bug 1877010 - Track forwarder transaction ids for RemoteTextureMap with WebGL and WebGPU. r=sotaro 2024-01-30 15:44:04 +00:00
OffscreenCanvas.cpp Bug 1877429 - Prevent offscreen canvas2d updates from racing with compositing. r=gfx-reviewers,lsalzman 2024-02-07 20:25:52 +00:00
OffscreenCanvas.h Bug 1877429 - Prevent offscreen canvas2d updates from racing with compositing. r=gfx-reviewers,lsalzman 2024-02-07 20:25:52 +00:00
OffscreenCanvasDisplayHelper.cpp Bug 1855742 - Part 3. Allow recording based canvases with OffscreenCanvas. r=gfx-reviewers,lsalzman 2024-02-21 03:08:03 +00:00
OffscreenCanvasDisplayHelper.h Bug 1870488 - Part 3. Make OffscreenCanvas use PersistentBufferProvider on the display pipeline. r=lsalzman 2024-01-18 01:12:34 +00:00
OffscreenCanvasRenderingContext2D.cpp Bug 1870957 - Part 4. Refactor canvas shutdown to be synchronized with CanvasManagerChild. r=lsalzman 2023-12-20 13:01:19 +00:00
OffscreenCanvasRenderingContext2D.h Bug 1870957 - Part 4. Refactor canvas shutdown to be synchronized with CanvasManagerChild. r=lsalzman 2023-12-20 13:01:19 +00:00
PWebGL.ipdl Bug 1877010 - Track forwarder transaction ids for RemoteTextureMap with WebGL and WebGPU. r=sotaro 2024-01-30 15:44:04 +00:00
QueueParamTraits.h Bug 1831092 - Use the new pull-based API for all crash annotations and remove the global annotations table r=jgilbert,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,padenot,handyman,afranchuk,valentin,alwu,sotaro 2024-03-04 10:24:43 +00:00
SanitizeRenderer.cpp Bug 1875136 - Add RENDERER sanitization bucket for Intel Arc A750. r=gfx-reviewers,lsalzman 2024-01-23 18:01:56 +00:00
SourceSurfaceWebgl.cpp Bug 1876536 - Part 1: Remove self refcounts within constructor in dom/canvas r=gfx-reviewers,lsalzman 2024-02-01 11:03:59 +00:00
SourceSurfaceWebgl.h Bug 1876536 - Part 1: Remove self refcounts within constructor in dom/canvas r=gfx-reviewers,lsalzman 2024-02-01 11:03:59 +00:00
TextMetrics.h
TexUnpackBlob.cpp Bug 1883225 - webgl.texSubImage(video): re-enable gpu-blit for RGBA, and RGB iff RGB8+SRGB8 renderable. r=gfx-reviewers,lsalzman 2024-03-09 05:35:20 +00:00
TexUnpackBlob.h Bug 1883225 - webgl.texSubImage(video): re-enable gpu-blit for RGBA, and RGB iff RGB8+SRGB8 renderable. r=gfx-reviewers,lsalzman 2024-03-09 05:35:20 +00:00
TiedFields.h Bug 1655101 - AssertTiedFieldsAreExhaustive<T>() gives better compiler errors. r=gfx-reviewers,aosmond 2024-01-04 18:38:52 +00:00
TupleUtils.h
WebGL2Context.cpp
WebGL2Context.h Bug 1878930 - s/RawBuffer/Span/: Buffer(Sub)Data, Invalidate(Sub)Framebuffer. r=gfx-reviewers,lsalzman 2024-02-29 00:37:28 +00:00
WebGL2ContextBuffers.cpp
WebGL2ContextFramebuffers.cpp Bug 1878930 - s/RawBuffer/Span/: Buffer(Sub)Data, Invalidate(Sub)Framebuffer. r=gfx-reviewers,lsalzman 2024-02-29 00:37:28 +00:00
WebGL2ContextMRTs.cpp
WebGL2ContextQueries.cpp
WebGL2ContextRenderbuffers.cpp
WebGL2ContextSamplers.cpp
WebGL2ContextState.cpp
WebGL2ContextSync.cpp
WebGL2ContextTransformFeedback.cpp
WebGL2ContextUniforms.cpp
WebGLBuffer.cpp Bug 1879178 - Add UninitializedBufferData_SizeOnly for unitialized orphaning of WebGL buffers. r=jgilbert 2024-02-08 23:36:56 +00:00
WebGLBuffer.h Bug 1879178 - Add UninitializedBufferData_SizeOnly for unitialized orphaning of WebGL buffers. r=jgilbert 2024-02-08 23:36:56 +00:00
WebGLChild.cpp Bug 1885201 - In WebGLChild::FlushPendingCmds, check for GetCurrentSerialEventTarget()->nullptr. r=gfx-reviewers,bradwerth 2024-03-15 06:48:41 +00:00
WebGLChild.h Bug 1877010 - Track forwarder transaction ids for RemoteTextureMap with WebGL and WebGPU. r=sotaro 2024-01-30 15:44:04 +00:00
WebGLCommandQueue.h Bug 1879228 - MethodDispatcher::DispatchCommand less noisy in stack traces. r=gfx-reviewers,lsalzman 2024-02-08 07:55:45 +00:00
WebGLContext.cpp Bug 1883225 - webgl.texSubImage(video): re-enable gpu-blit for RGBA, and RGB iff RGB8+SRGB8 renderable. r=gfx-reviewers,lsalzman 2024-03-09 05:35:20 +00:00
WebGLContext.h Bug 1883225 - webgl.texSubImage(video): re-enable gpu-blit for RGBA, and RGB iff RGB8+SRGB8 renderable. r=gfx-reviewers,lsalzman 2024-03-09 05:35:20 +00:00
WebGLContextBuffers.cpp Bug 1879178 - Add UninitializedBufferData_SizeOnly for unitialized orphaning of WebGL buffers. r=jgilbert 2024-02-08 23:36:56 +00:00
WebGLContextDraw.cpp Bug 1849433: apply code formatting via Lando 2023-08-31 21:52:56 +00:00
WebGLContextExtensions.cpp Bug 1819497 - Don't race on static bool for initialization. r=gfx-reviewers,aosmond 2023-09-13 21:50:14 +00:00
WebGLContextFramebufferOperations.cpp
WebGLContextGL.cpp Bug 1878930 - s/RawBuffer/Span/: UniformData. r=gfx-reviewers,lsalzman 2024-02-29 00:37:28 +00:00
WebGLContextLossHandler.cpp
WebGLContextLossHandler.h
WebGLContextState.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=emilio,media-playback-reviewers,padenot 2023-12-04 10:09:36 +00:00
WebGLContextTextures.cpp Bug 1850883 - Remove always-true OnHighSierraOrLater() and OnCatalinaOrLater() version checks. r=gfx-reviewers,lsalzman 2023-09-07 23:07:57 +00:00
WebGLContextUtils.cpp
WebGLContextUtils.h
WebGLContextValidate.cpp Backed out changeset b09d48d2b473 (bug 1655101) for causing mochitest webgl failures on dom/canvas/TexUnpackBlob.cpp 2023-09-26 19:09:49 +03:00
WebGLContextVertexArray.cpp
WebGLContextVertices.cpp
WebGLExtensions.cpp
WebGLExtensions.h
WebGLFormats.cpp
WebGLFormats.h
WebGLFramebuffer.cpp
WebGLFramebuffer.h
WebGLInternalFormatsTable.h
WebGLIpdl.h Bug 1885028 - PlainOldDataSerializer use removed from dom/canvas. r=gfx-reviewers,lsalzman,ahale 2024-03-14 00:21:23 +00:00
WebGLMemoryTracker.cpp Bug 1870585 - Add webgl::dmd_unordered_map for WebGLTexture memory reporting of cache map. r=gfx-reviewers,lsalzman,bradwerth 2024-03-11 17:37:24 +00:00
WebGLMemoryTracker.h Bug 1794893 - WebGLMemoryTracker ensured-registered in WebGLContext::ctor. r=gfx-reviewers,lsalzman 2024-02-06 19:34:26 +00:00
WebGLMethodDispatcher.h Bug 1873866 - RawBuffer now forbids null/size-only. r=gfx-reviewers,ahale 2024-02-01 23:32:14 +00:00
WebGLObjectModel.h
WebGLParent.cpp Bug 1879228 - MethodDispatcher::DispatchCommand less noisy in stack traces. r=gfx-reviewers,lsalzman 2024-02-08 07:55:45 +00:00
WebGLParent.h Bug 1877010 - Track forwarder transaction ids for RemoteTextureMap with WebGL and WebGPU. r=sotaro 2024-01-30 15:44:04 +00:00
WebGLProgram.cpp
WebGLProgram.h Bug 1849433 - Code cleanups in dom/canvas/WebGL. r=gfx-reviewers,gw 2023-08-31 21:45:35 +00:00
WebGLQuery.cpp
WebGLQuery.h
WebGLQueueParamTraits.h Bug 1640839 - Stop generating a sentinel value at the end of WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,padenot 2024-03-02 07:50:25 +00:00
WebGLRenderbuffer.cpp Bug 1793526 - Remove IsCurrent checks in webgl code. r=gfx-reviewers,lsalzman 2023-09-19 22:04:17 +00:00
WebGLRenderbuffer.h
WebGLSampler.cpp
WebGLSampler.h
WebGLShader.cpp
WebGLShader.h
WebGLShaderValidator.cpp
WebGLShaderValidator.h Bug 1870585 - Add webgl::dmd_unordered_map for WebGLTexture memory reporting of cache map. r=gfx-reviewers,lsalzman,bradwerth 2024-03-11 17:37:24 +00:00
WebGLStrongTypes.h
WebGLSync.cpp
WebGLSync.h
WebGLTexelConversions.cpp
WebGLTexelConversions.h
WebGLTexture.cpp Bug 1037100 - Scoped.h removed because no outstanding uses. r=glandium,dom-storage-reviewers,jesup,janv 2024-02-14 06:41:58 +00:00
WebGLTexture.h Bug 1870585 - Add webgl::dmd_unordered_map for WebGLTexture memory reporting of cache map. r=gfx-reviewers,lsalzman,bradwerth 2024-03-11 17:37:24 +00:00
WebGLTextureUpload.cpp Bug 1878930 - r/RawBuffer/Span/: TexImage: Don't copy desc. r=gfx-reviewers,lsalzman 2024-02-29 00:37:29 +00:00
WebGLTextureUpload.h Bug 1781526 - Implement means to use VideoFrame with WebGL. r=webidl,smaug,lsalzman 2023-09-20 22:40:24 +00:00
WebGLTransformFeedback.cpp
WebGLTransformFeedback.h Bug 1849433 - Code cleanups in dom/canvas/WebGL. r=gfx-reviewers,gw 2023-08-31 21:45:35 +00:00
WebGLTypes.h Bug 1885028 - PlainOldDataSerializer use removed from dom/canvas. r=gfx-reviewers,lsalzman,ahale 2024-03-14 00:21:23 +00:00
WebGLValidateStrings.cpp
WebGLValidateStrings.h
WebGLVertexArray.cpp
WebGLVertexArray.h
WebGLVertexArrayFake.cpp
WebGLVertexArrayFake.h
WebGLVertexArrayGL.cpp
WebGLVertexArrayGL.h
XRWebGLLayer.cpp
XRWebGLLayer.h