gecko-dev/dom/canvas
Gabriele Svelto aa43fa218e 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
This changes comes with several different refactorings all rolled into one,
unfotunately I couldn't find a way to pull them apart:
- First of all annotations now can either recorded (that is, we copy the value
  and have the crash reporting code own the copy) or registered. Several
  annotations are changed to use this functionality so that we don't need to
  update them as their value change.
- The code in the exception handler is modified to read the annotations from
  the mozannotation_client crate. This has the unfortunate side-effect that
  we need three different bits of code to serialize them: one for annotations
  read from a child process, one for reading annotations from the main process
  outside of the exception handler and one for reading annotations from the
  main process within the exception handler. As we move to fully
  out-of-process crash reporting the last two methods will go away.
- The mozannotation_client crate now doesn't record annotation types anymore.
  I realized as I was working on this that storing types at runtime has two
  issues: the first one is that buggy code might change the type of an
  annotation (that is record it under two different types at two different
  moments), the second issue is that types might become corrupt during a
  crash, so better enforce them at annotation-writing time. The end result is
  that the mozannotation_* crates now only store byte buffers, track the
  format the data is stored in (null-terminated string, fixed size buffer,
  etc...) but not the type of data each annotation is supposed to contain.
- Which brings us to the next change: concrete types for annotations are now
  enforced when they're written out. If an annotation doesn't match the
  expected type it's skipped. Storing an annotation with the wrong type will
  also trigger an assertion in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D195248
2024-03-04 10:24:43 +00:00
..
crashtests Bug 1879538 - cleanup unnecessary and redundant reftest conditions. r=aryx,jgilbert 2024-02-22 23:04:45 +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 Bug 1879538 - cleanup unnecessary and redundant reftest conditions. r=aryx,jgilbert 2024-02-22 23:04:45 +00:00
CacheInvalidator.cpp
CacheInvalidator.h
CanvasGradient.cpp
CanvasGradient.h Bug 1777574, automate CC zone handling, r=mccr8 2022-09-07 11:22:51 +00:00
CanvasImageCache.cpp Bug 1851395 - Remove canvas.createConicGradient.enabled pref r=webidl,peterv 2023-09-18 22:09:35 +00:00
CanvasImageCache.h Bug 1781527 - Part 3. Implement support for surfaces requiring scaling/crop rects with canvas. r=lsalzman 2023-07-10 00:26:47 +00:00
CanvasPath.h Bug 1846079 - Ensure pruned point begins first sub-path if necessary. r=aosmond 2023-07-30 14:31:09 +00:00
CanvasPattern.cpp Bug 1856795 - Remove redundant member init r=emilio 2023-10-15 15:29:02 +00:00
CanvasPattern.h Bug 1777574, automate CC zone handling, r=mccr8 2022-09-07 11:22:51 +00:00
CanvasRenderingContext2D.cpp Bug 1855742 - Part 3. Allow recording based canvases with OffscreenCanvas. r=gfx-reviewers,lsalzman 2024-02-21 03:08:03 +00:00
CanvasRenderingContext2D.h Bug 1640839 - Add some helpers for enums to calculate the size and use it in EnumeratedArray. r=glandium,jgilbert,media-playback-reviewers,padenot 2024-03-02 07:50:19 +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 1878930 - s/RawBuffer/Span/: TexImage: Use span, fix dtwebgl callers. r=gfx-reviewers,lsalzman 2024-02-29 00:37:30 +00:00
ClientWebGLContext.h Bug 1878930 - s/RawBuffer/Span/: ReadPixels. r=gfx-reviewers,lsalzman 2024-02-29 00:37:28 +00:00
ClientWebGLExtensions.cpp Bug 1825673 - Implement WEBGL_provoking_vertex. r=gfx-reviewers,webidl,lsalzman,saschanaz 2023-04-01 00:33:25 +00:00
ClientWebGLExtensions.h Bug 1825673 - Implement WEBGL_provoking_vertex. r=gfx-reviewers,webidl,lsalzman,saschanaz 2023-04-01 00:33:25 +00:00
DrawTargetWebgl.cpp Bug 1878930 - s/RawBuffer/Span/: TexImage: Use span, fix dtwebgl callers. r=gfx-reviewers,lsalzman 2024-02-29 00:37:30 +00: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 1879651 - Ensure CreateImageBitmapInternal copies DataSourceSurface before modifying it. r=aosmond 2024-02-23 16:09:21 +00:00
ImageBitmap.h Bug 1839286. Use one shutdown observer for all ImageBitmaps. r=gfx-reviewers,lsalzman 2023-07-19 06:15:22 +00:00
ImageBitmapRenderingContext.cpp Bug 1850871 - Resize canvas in ImageBitmapRenderingContext::TransferFromImageBitmap. r=gfx-reviewers,lsalzman 2023-10-16 11:23:43 +00:00
ImageBitmapRenderingContext.h Bug 1812932 - Add size outvar to GetImageBuffer. r=gfx-reviewers,bradwerth 2023-03-21 18:05:09 +00:00
ImageBitmapSource.h Bug 1781527 - Part 2. Implement means to use VideoFrame with ImageBitmap and CanvasRenderingContext2D. r=chunmin,webidl,gfx-reviewers,smaug,lsalzman 2023-07-10 00:26:47 +00:00
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
MurmurHash3.cpp Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium 2023-02-13 15:02:07 +00:00
MurmurHash3.h
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
TexUnpackBlob.cpp Bug 1878930 - s/RawBuffer/Span/: TexImage: Use span, fix dtwebgl callers. r=gfx-reviewers,lsalzman 2024-02-29 00:37:30 +00:00
TexUnpackBlob.h Bug 1655101 - Allow webgl.texImage gpu-blit for RGB8 if supported. r=gfx-reviewers,aosmond 2024-01-04 18:38:52 +00:00
TextMetrics.h
TiedFields.h Bug 1655101 - AssertTiedFieldsAreExhaustive<T>() gives better compiler errors. r=gfx-reviewers,aosmond 2024-01-04 18:38:52 +00:00
TupleUtils.h Bug 1778808 - Trim unused code, particularly in TiedFields.h. r=nika 2022-08-09 21:01:56 +00:00
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 Bug 1778808 - Use stricter TiedFields instead of IsTriviallySerializable in WebGL's QueueParamTraits. r=lsalzman,nika 2022-08-09 21:01:55 +00:00
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 1877010 - Track forwarder transaction ids for RemoteTextureMap with WebGL and WebGPU. r=sotaro 2024-01-30 15:44:04 +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 1877726. Revert "Bug 1664063 - Ensure we consistently handle all errors from IDXGIKeyedMutex::AcquireSync.". 2024-02-13 04:25:35 +00:00
WebGLContext.h Bug 1640839 - Add some helpers for enums to calculate the size and use it in EnumeratedArray. r=glandium,jgilbert,media-playback-reviewers,padenot 2024-03-02 07:50:19 +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 Bug 1660405 - Move away from mozilla::IsNaN in favor of std::isnan. r=nbp,media-playback-reviewers,sergesanspaille,padenot 2023-03-22 11:35:33 +00:00
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 Bug 1778808 - Use stricter TiedFields instead of IsTriviallySerializable in WebGL's QueueParamTraits. r=lsalzman,nika 2022-08-09 21:01:55 +00:00
WebGLExtensions.cpp
WebGLExtensions.h Bug 1825673 - Implement WEBGL_provoking_vertex. r=gfx-reviewers,webidl,lsalzman,saschanaz 2023-04-01 00:33:25 +00:00
WebGLFormats.cpp Bug 1778549 - Don't crash on validation failure in ReadPixelsPbo. r=gfx-reviewers,lsalzman 2022-08-03 06:10:31 +00:00
WebGLFormats.h Bug 1778549 - Don't crash on validation failure in ReadPixelsPbo. r=gfx-reviewers,lsalzman 2022-08-03 06:10:31 +00:00
WebGLFramebuffer.cpp
WebGLFramebuffer.h
WebGLInternalFormatsTable.h
WebGLIpdl.h Bug 1640839 - Add IPC serializer for WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,dom-storage-reviewers,janv,padenot 2024-03-02 07:50:22 +00:00
WebGLMemoryTracker.cpp Bug 1794893 - WebGLMemoryTracker ensured-registered in WebGLContext::ctor. r=gfx-reviewers,lsalzman 2024-02-06 19:34:26 +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 Bug 1800301 - Use Vector instead of custom inlining_vector. r=jgilbert 2022-11-15 08:05:09 +00:00
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 Bug 1794292: apply code formatting via Lando 2023-03-30 22:44:59 +00:00
WebGLShaderValidator.h Bug 1779800 - Fix WebGL instancing in some cases on Mac. r=gfx-reviewers,lsalzman 2022-09-15 00:47:03 +00:00
WebGLStrongTypes.h
WebGLSync.cpp
WebGLSync.h
WebGLTexelConversions.cpp Bug 1677183 - Implement WebGPU's Queue.copyExternalImageToTexture. r=jgilbert,jimb,emilio 2022-08-18 16:11:46 +00:00
WebGLTexelConversions.h Bug 1677183 - Implement WebGPU's Queue.copyExternalImageToTexture. r=jgilbert,jimb,emilio 2022-08-18 16:11:46 +00:00
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 1781728 - Clamp WebGL mipmap levels r=jgilbert 2022-08-24 22:20:39 +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 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
WebGLValidateStrings.cpp
WebGLValidateStrings.h
WebGLVertexArray.cpp
WebGLVertexArray.h Bug 1779800 - Fix WebGL instancing in some cases on Mac. r=gfx-reviewers,lsalzman 2022-09-15 00:47:03 +00:00
WebGLVertexArrayFake.cpp Bug 1779800 - Fix WebGL instancing in some cases on Mac. r=gfx-reviewers,lsalzman 2022-09-15 00:47:03 +00:00
WebGLVertexArrayFake.h
WebGLVertexArrayGL.cpp
WebGLVertexArrayGL.h
XRWebGLLayer.cpp Bug 1805931, part 2 - Automated removal of uses of ROOT and UNROOT CC macros. r=smaug 2022-12-15 19:45:01 +00:00
XRWebGLLayer.h Bug 1777574, automate CC zone handling, r=mccr8 2022-09-07 11:22:51 +00:00
moz.build Bug 1879464 - Disable -Wshorten-64-to-32 when making implicit-int-conversion an error. r=firefox-build-system-reviewers,ahochheiden 2024-02-13 03:54:31 +00:00
nsICanvasRenderingContextInternal.cpp Bug 1816189 - Part 4: Add random noise when extracting data from canvas element when canvas randomization is enabled. r=tjr,lsalzman 2023-05-08 14:04:35 +00:00
nsICanvasRenderingContextInternal.h Bug 1877010 - Track forwarder transaction ids for RemoteTextureMap with WebGL and WebGPU. r=sotaro 2024-01-30 15:44:04 +00:00