gecko-dev/storage
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
..
build
rust Bug 1802689 - Add missing licenses info in Cargo.toml r=mhoye,necko-reviewers,kershaw,valentin 2022-12-13 09:14:44 +00:00
test Bug 1864896: Autofix unused function arguments (storage). r=asuth 2024-03-01 23:43:54 +00:00
variant Bug 1802689 - Add missing licenses info in Cargo.toml r=mhoye,necko-reviewers,kershaw,valentin 2022-12-13 09:14:44 +00:00
BaseVFS.cpp Bug 1843229: Created header files to declare external functions in BaseVFS.cpp, QuotaVFS.cpp and ObfuscatingVFS.cpp.r=janv,dom-storage-reviewers 2023-09-26 14:51:38 +00:00
BaseVFS.h Bug 1843229: Created header files to declare external functions in BaseVFS.cpp, QuotaVFS.cpp and ObfuscatingVFS.cpp.r=janv,dom-storage-reviewers 2023-09-26 14:51:38 +00:00
FileSystemModule.cpp
FileSystemModule.h
IStorageBindingParamsInternal.h
ObfuscatingVFS.cpp Bug 1843229: Created header files to declare external functions in BaseVFS.cpp, QuotaVFS.cpp and ObfuscatingVFS.cpp.r=janv,dom-storage-reviewers 2023-09-26 14:51:38 +00:00
ObfuscatingVFS.h Bug 1843229: Created header files to declare external functions in BaseVFS.cpp, QuotaVFS.cpp and ObfuscatingVFS.cpp.r=janv,dom-storage-reviewers 2023-09-26 14:51:38 +00:00
QuotaVFS.cpp Bug 1843229: Created header files to declare external functions in BaseVFS.cpp, QuotaVFS.cpp and ObfuscatingVFS.cpp.r=janv,dom-storage-reviewers 2023-09-26 14:51:38 +00:00
QuotaVFS.h Bug 1843229: Created header files to declare external functions in BaseVFS.cpp, QuotaVFS.cpp and ObfuscatingVFS.cpp.r=janv,dom-storage-reviewers 2023-09-26 14:51:38 +00:00
ReadOnlyNoLockVFS.cpp Bug 1801495 - Add a shim no-lock VFS that implements immutable behavior. r=asuth 2022-11-29 20:35:23 +00:00
SQLCollations.cpp
SQLCollations.h
SQLiteMutex.h
StatementCache.h
StorageBaseStatementInternal.cpp Bug 1121282 - Allow use of thread pools for storage connections. r=asuth,dom-storage-reviewers,janv 2022-09-21 15:02:14 +00:00
StorageBaseStatementInternal.h
VacuumManager.cpp Bug 1813986 - Add an asyncVacuum() method to storage async connections, and let VacuumManager use it. r=asuth 2023-03-22 15:36:37 +00:00
VacuumManager.h
Variant.cpp
Variant.h Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
Variant_inl.h
moz.build Bug 1855455 - Vendor SQLite and FTS5 as a run-time loadable extension. r=asuth,glandium 2023-11-21 08:34:34 +00:00
mozIStorageAsyncConnection.idl Bug 1869060 - Add SQLite Online Backup API support via mozIStorageAsyncConnection. r=mak 2024-01-22 14:26:53 +00:00
mozIStorageAsyncStatement.idl
mozIStorageBaseStatement.idl
mozIStorageBindingParams.idl
mozIStorageBindingParamsArray.idl
mozIStorageCompletionCallback.idl
mozIStorageConnection.idl
mozIStorageError.idl
mozIStorageFunction.idl
mozIStoragePendingStatement.idl
mozIStorageProgressHandler.idl
mozIStorageResultSet.idl
mozIStorageRow.idl
mozIStorageService.idl Bug 1869060 - Move old backupDatabaseFile utility out from mozIStorageService to a Places helper. r=mak,places-reviewers 2024-01-22 14:26:52 +00:00
mozIStorageStatement.idl
mozIStorageStatementCallback.idl
mozIStorageVacuumParticipant.idl Bug 1813986 - Add an asyncVacuum() method to storage async connections, and let VacuumManager use it. r=asuth 2023-03-22 15:36:37 +00:00
mozIStorageValueArray.idl
mozStorageArgValueArray.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
mozStorageArgValueArray.h
mozStorageAsyncStatement.cpp Bug 1856795 - ride along: use = default; on some recently modified files r=emilio 2023-10-15 15:29:03 +00:00
mozStorageAsyncStatement.h
mozStorageAsyncStatementExecution.cpp Bug 1825324 - Make widget/* buildable outside of a unified build environment r=andi,geckoview-reviewers,m_kato 2023-04-01 08:31:12 +00:00
mozStorageAsyncStatementExecution.h
mozStorageAsyncStatementJSHelper.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
mozStorageAsyncStatementJSHelper.h
mozStorageAsyncStatementParams.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
mozStorageAsyncStatementParams.h
mozStorageBindingParams.cpp
mozStorageBindingParams.h
mozStorageBindingParamsArray.cpp
mozStorageBindingParamsArray.h
mozStorageConnection.cpp Bug 1869060 - Add SQLite Online Backup API support via mozIStorageAsyncConnection. r=mak 2024-01-22 14:26:53 +00:00
mozStorageConnection.h Bug 1855455 - Implement a loadExtension() API in mozStorage. r=asuth 2023-11-21 08:34:35 +00:00
mozStorageError.cpp
mozStorageError.h
mozStorageHelper.h
mozStoragePrivateHelpers.cpp
mozStoragePrivateHelpers.h Bug 1121282 - Allow use of thread pools for storage connections. r=asuth,dom-storage-reviewers,janv 2022-09-21 15:02:14 +00:00
mozStorageResultSet.cpp
mozStorageResultSet.h
mozStorageRow.cpp
mozStorageRow.h
mozStorageSQLFunctions.cpp Bug 1862507 - mozStorageSQLFunctions.cpp: do not use 'else' after 'return'. r=sylvestre DONTBUILD 2023-11-16 08:19:48 +00:00
mozStorageSQLFunctions.h
mozStorageService.cpp 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
mozStorageService.h Bug 1638256 - Some casts and fixes in mozStorage to make clang-tidy happy. r=asuth 2023-06-24 10:11:28 +00:00
mozStorageStatement.cpp Bug 1856795 - ride along: use = default; on some recently modified files r=emilio 2023-10-15 15:29:03 +00:00
mozStorageStatement.h
mozStorageStatementData.h
mozStorageStatementJSHelper.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
mozStorageStatementJSHelper.h
mozStorageStatementParams.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
mozStorageStatementParams.h
mozStorageStatementRow.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
mozStorageStatementRow.h
storage.h
style.txt
variantToSQLiteT_impl.h