gecko-dev/gfx
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
..
2d Bug 1882945 - Adjust ScaledFontMac.cpp after bug 1856035. r=gfx-reviewers,lsalzman 2024-03-01 09:52:37 +00:00
angle Bug 1880746 - Part 2: Simplify angle moz.build DIRS dependencies. r=firefox-build-system-reviewers,jgilbert,glandium 2024-02-27 07:31:34 +00:00
cairo Bug 1870243 - Cherry-pick https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/256 to correctly reset the current operator when several added highlights in a pdf are printed r=jfkthame 2024-01-03 16:09:28 +00:00
config Bug 1875430 part 3: Convert 'static UniquePtr' global vars to use StaticAutoPtr, in gfx. r=gfx-reviewers,jgilbert 2024-01-23 19:00:49 +00:00
docs Bug 1519636 - Remove nbsp in the doc r=firefox-source-docs-reviewers,geckoview-reviewers,ahal,m_kato 2023-12-03 11:01:53 +00:00
gl Bug 1790873 - Send a full line at a time to printf_stderr in GLContext.cpp r=jgilbert 2024-02-28 18:15:03 +00:00
graphite2 Bug 1875296 - Vendor graphite2 using `mach vendor` r=jfkthame 2024-01-22 08:45:20 +00:00
harfbuzz Bug 1864285 - Update harfbuzz to 8.3.0 r=jfkthame 2023-11-22 16:01:03 +00:00
ipc 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
layers 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
ots Bug 1873636 - vendor gfx/ots using mach vendor r=jfkthame 2024-01-18 13:26:28 +00:00
qcms Bug 1881879 - Remove unneeded manual dereferences. r=gfx-reviewers,lsalzman 2024-02-24 03:14:40 +00:00
skia Bug 1882947 - Adjust SkTypeface_mac_ct.cpp after bug 1858347. r=gfx-reviewers,lsalzman 2024-03-01 19:31:43 +00:00
src 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
tests Bug 1879538 - cleanup unnecessary and redundant reftest conditions. r=aryx,jgilbert 2024-02-22 23:04:45 +00:00
thebes 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
vr 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
webrender_bindings 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
wgpu_bindings Bug 1882956: build(webgpu): update WGPU to a5c0181c3a6b4b197dcae34591dfe78bf45338b9 r=webgpu-reviewers,supply-chain-reviewers,teoxoy 2024-03-01 20:44:18 +00:00
wr Bug 1882526 - Avoid zero-sized mask render tasks. r=gfx-reviewers,lsalzman 2024-03-04 09:44:58 +00:00
ycbcr Bug 1867459 - Replace CPU_ARCH with TARGET_CPU. r=firefox-build-system-reviewers,sergesanspaille 2023-12-08 10:43:59 +00:00
metrics.yaml Bug 1877842 - Migrate performance GVST probes r=perry.mcmanis,denispal 2024-02-09 21:11:05 +00:00
moz.build Bug 1822594 - remove webrender test schedule. r=jmaher,ahal 2023-03-20 10:45:48 +00:00