gecko-dev/dom/quota
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
..
scripts
test Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
ActorsChild.cpp Bug 1808294 - Add QuotaManager::InitializeTemporaryStorage method; r=dom-storage-reviewers,jari 2023-12-08 05:55:05 +00:00
ActorsChild.h Bug 1874739 - Part 8: Make PQuota refcounted, r=dom-storage-reviewers,janv 2024-01-19 20:23:20 +00:00
ActorsParent.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
ActorsParent.h Bug 1840770 - Move PQuotaParent implementation to separate source files; r=dom-storage-reviewers,jari 2023-07-13 09:57:18 +00:00
Assertions.cpp Bug 1839417 - Remove duplicated code for assertions; r=dom-storage-reviewers,asuth 2023-06-21 09:09:51 +00:00
Assertions.h
AssertionsImpl.h
CachingDatabaseConnection.cpp Bug 1791767 - Exclude CachingDatabaseConnection with event target from general thread checks. r=dom-storage-reviewers,janv 2023-10-16 07:43:11 +00:00
CachingDatabaseConnection.h Bug 1791767 - Exclude CachingDatabaseConnection with event target from general thread checks. r=dom-storage-reviewers,janv 2023-10-16 07:43:11 +00:00
CanonicalQuotaObject.cpp
CanonicalQuotaObject.h
CheckedUnsafePtr.h
CipherKeyManager.h Bug 1835298: Encrypt CacheAPI data on disk in PBM.r=dom-storage-reviewers,janv 2023-10-27 14:10:08 +00:00
CipherStrategy.h Bug 1843038 - Make CypherStrategy::DeserializeKey fallible, r=janv 2023-07-18 14:32:57 +00:00
Client.cpp
Client.h
ClientImpl.h
ClientUsageArray.cpp
ClientUsageArray.h
CommonMetadata.h Bug 1808294 - Add a common way to create quota client directories; r=dom-storage-reviewers,jari 2023-10-12 14:55:59 +00:00
Config.h Bug 1791767 - Exclude CachingDatabaseConnection with event target from general thread checks. r=dom-storage-reviewers,janv 2023-10-16 07:43:11 +00:00
Constants.h Bug 1840545 - Move some constants to Constants.h; r=dom-storage-reviewers,jari 2023-07-04 15:33:38 +00:00
DebugOnlyMacro.h
DecryptingInputStream.cpp
DecryptingInputStream.h
DecryptingInputStream_impl.h Bug 1843038 - Make CypherStrategy::DeserializeKey fallible, r=janv 2023-07-18 14:32:57 +00:00
DirectoryLock.h Bug 1808294 - Add DirectoryLock::MustWait method; r=dom-storage-reviewers,hsingh,jari 2024-02-12 10:24:55 +00:00
DirectoryLockCategory.h Bug 1808294 - Add support for directory lock categories; r=dom-storage-reviewers,aiunusov,jari 2024-02-12 10:24:53 +00:00
DirectoryLockImpl.cpp Bug 1808294 - Add DirectoryLock::MustWait method; r=dom-storage-reviewers,hsingh,jari 2024-02-12 10:24:55 +00:00
DirectoryLockImpl.h Bug 1808294 - Add DirectoryLock::MustWait method; r=dom-storage-reviewers,hsingh,jari 2024-02-12 10:24:55 +00:00
DummyCipherStrategy.h Bug 1843038 - Make CypherStrategy::DeserializeKey fallible, r=janv 2023-07-18 14:32:57 +00:00
EncryptedBlock.h Bug 1867394: Zero-initialize first EncryptedBlock.r=asuth,dom-storage-reviewers 2023-12-04 21:51:22 +00:00
EncryptingOutputStream.cpp
EncryptingOutputStream.h Bug 1864123 - Optimize flushing to base stream; r=dom-storage-reviewers,asuth,hsingh 2023-11-24 10:02:29 +00:00
EncryptingOutputStream_impl.h Bug 1864123 - Optimize flushing to base stream; r=dom-storage-reviewers,asuth,hsingh 2023-11-24 10:02:29 +00:00
FileStreams.cpp
FileStreams.h
FileUtils.cpp Bug 1840545 - Move some file utils to separate files; r=dom-storage-reviewers,jari 2023-07-04 15:33:39 +00:00
FileUtils.h Bug 1840545 - Move some file utils to separate files; r=dom-storage-reviewers,jari 2023-07-04 15:33:39 +00:00
FirstInitializationAttempts.h
FirstInitializationAttemptsImpl.h
Flatten.h
ForwardDecls.h Bug 1749504 - Introduce a new method QuotaManager::OpenStorageDirectory; r=dom-storage-reviewers,jstutte 2023-09-17 06:37:28 +00:00
GroupInfo.cpp
GroupInfo.h
GroupInfoPair.cpp
GroupInfoPair.h
IPCQuotaObject.ipdlh Bug 1880372 - Include headers for ManagedEndpoint/Endpoint if it is used in a struct or union; r=nika,media-playback-reviewers,padenot 2024-02-15 22:16:42 +00:00
IPCStreamCipherStrategy.h
InitializationTypes.cpp
InitializationTypes.h
NSSCipherStrategy.cpp Bug 1843038 - Make CypherStrategy::DeserializeKey fallible, r=janv 2023-07-18 14:32:57 +00:00
NSSCipherStrategy.h Bug 1843038 - Make CypherStrategy::DeserializeKey fallible, r=janv 2023-07-18 14:32:57 +00:00
NormalOriginOperationBase.cpp Bug 1749504 - Allow to do more complex directory opening in derived classes of NormalOriginOperationsBase; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:58 +00:00
NormalOriginOperationBase.h Bug 1749504 - Allow to do more complex directory opening in derived classes of NormalOriginOperationsBase; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:58 +00:00
OriginInfo.cpp
OriginInfo.h
OriginOperationBase.cpp Bug 1749504 - Add not null strong reference to QuotaManager from OriginOperatiosBase; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:57 +00:00
OriginOperationBase.h Bug 1749504 - Add not null strong reference to QuotaManager from OriginOperatiosBase; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:57 +00:00
OriginOperations.cpp Bug 1808294 - Add QuotaManager::InitializeTemporaryStorage method; r=dom-storage-reviewers,jari 2023-12-08 05:55:05 +00:00
OriginOperations.h Bug 1808294 - Add QuotaManager::InitializeTemporaryStorage method; r=dom-storage-reviewers,jari 2023-12-08 05:55:05 +00:00
OriginParser.cpp Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
OriginParser.h Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
OriginScope.h
PQuota.ipdl Bug 1874739 - Part 8: Make PQuota refcounted, r=dom-storage-reviewers,janv 2024-01-19 20:23:20 +00:00
PQuotaRequest.ipdl Bug 1808294 - Add QuotaManager::InitializeTemporaryStorage method; r=dom-storage-reviewers,jari 2023-12-08 05:55:05 +00:00
PQuotaUsageRequest.ipdl Bug 1808294 - Extend nsIQuotaOriginUsageResult to match UsageInfo; r=dom-storage-reviewers,jari 2023-10-06 13:33:13 +00:00
PRemoteQuotaObject.ipdl Bug 1867360 - Require toplevel protocols to specify which processes they expect to be bound in, r=decoder,ipc-reviewers,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,aosmond,rkraesig,mccr8,kershaw 2024-01-18 23:07:18 +00:00
PersistenceType.cpp
PersistenceType.h
QMResult.cpp
QMResult.h
QuotaCommon.cpp
QuotaCommon.h Bug 1855134 - Move existing MOZ_TRY macros to a dedicated header file; r=glandium 2023-09-28 20:46:07 +00:00
QuotaManager.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
QuotaManagerImpl.h Bug 1839417 - Move QuotaManager::CollectPendingOriginsForListing implementation to QuotaManagerImpl.h; r=dom-storage-reviewers,asuth 2023-06-22 08:04:16 +00:00
QuotaManagerService.cpp Bug 1874739 - Part 8: Make PQuota refcounted, r=dom-storage-reviewers,janv 2024-01-19 20:23:20 +00:00
QuotaManagerService.h
QuotaObject.cpp
QuotaObject.h
QuotaParent.cpp Bug 1874739 - Part 8: Make PQuota refcounted, r=dom-storage-reviewers,janv 2024-01-19 20:23:20 +00:00
QuotaParent.h Bug 1874739 - Part 8: Make PQuota refcounted, r=dom-storage-reviewers,janv 2024-01-19 20:23:20 +00:00
QuotaRequestBase.cpp Bug 1749504 - Add not null strong reference to QuotaManager from OriginOperatiosBase; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:57 +00:00
QuotaRequestBase.h Bug 1749504 - Remove NormalOriginOperationBase members related to directory locking; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:58 +00:00
QuotaRequests.cpp
QuotaRequests.h
QuotaResults.cpp Bug 1808294 - Extend nsIQuotaOriginUsageResult to match UsageInfo; r=dom-storage-reviewers,jari 2023-10-06 13:33:13 +00:00
QuotaResults.h Bug 1808294 - Extend nsIQuotaOriginUsageResult to match UsageInfo; r=dom-storage-reviewers,jari 2023-10-06 13:33:13 +00:00
QuotaUsageRequestBase.cpp Bug 1808294 - Rename EnsureTemporaryStorageIsInitialized to EnsureTemporaryStorageIsInitializedInternal; r=dom-storage-reviewers,asuth 2023-12-08 05:55:04 +00:00
QuotaUsageRequestBase.h Bug 1749504 - Remove NormalOriginOperationBase members related to directory locking; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:58 +00:00
RemoteQuotaObject.cpp
RemoteQuotaObject.h
RemoteQuotaObjectChild.cpp
RemoteQuotaObjectChild.h
RemoteQuotaObjectParent.cpp
RemoteQuotaObjectParent.h
RemoteQuotaObjectParentTracker.h
RemoveParen.h
ResolvableNormalOriginOp.h Bug 1749504 - Remove NormalOriginOperationBase members related to directory locking; r=dom-storage-reviewers,jstutte 2023-09-13 16:41:58 +00:00
ResultExtensions.h
SanitizationUtils.cpp Bug 1839417 - Move sanitization methods to separate files; r=dom-storage-reviewers,asuth 2023-06-22 08:04:16 +00:00
SanitizationUtils.h Bug 1839417 - Move sanitization methods to separate files; r=dom-storage-reviewers,asuth 2023-06-22 08:04:16 +00:00
ScopedLogExtraInfo.cpp Bug 1755206 - Allow setting context for remote debugging in content process. r=dom-storage-reviewers,janv 2023-06-12 04:41:00 +00:00
ScopedLogExtraInfo.h Bug 1755206 - Allow setting context for remote debugging in content process. r=dom-storage-reviewers,janv 2023-06-12 04:41:00 +00:00
SerializationHelpers.h Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
StorageHelpers.cpp
StorageHelpers.h
StorageManager.cpp Bug 1873573 - Rename PromiseWorkerProxy::WorkerPromise() to GetWorkerPromise(). r=dom-worker-reviewers,smaug 2024-01-26 10:48:56 +00:00
StorageManager.h
StorageOriginAttributes.cpp Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
StorageOriginAttributes.h Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
StreamUtils.cpp Bug 1839417 - Move stream helpers to separate files; r=dom-storage-reviewers,asuth 2023-06-22 08:04:17 +00:00
StreamUtils.h Bug 1839417 - Move stream helpers to separate files; r=dom-storage-reviewers,asuth 2023-06-22 08:04:17 +00:00
StringifyUtils.cpp Bug 1727526 - Have a Stringifyable base class. r=dom-storage-reviewers,janv 2023-12-11 15:17:12 +00:00
StringifyUtils.h Bug 1727526 - Have a Stringifyable base class. r=dom-storage-reviewers,janv 2023-12-11 15:17:12 +00:00
UsageInfo.h
components.conf Bug 1553105 - Make URL.origin return "null" if protocol doesn't have the URI_HAS_WEB_EXPOSED_ORIGIN flag r=nika,necko-reviewers,kershaw 2023-09-27 10:29:17 +00:00
moz.build Bug 1808294 - Add support for directory lock categories; r=dom-storage-reviewers,aiunusov,jari 2024-02-12 10:24:53 +00:00
nsIQuotaCallbacks.idl
nsIQuotaManagerService.idl Bug 1808294 - Add a common way to create quota client directories; r=dom-storage-reviewers,jari 2023-10-12 14:55:59 +00:00
nsIQuotaRequests.idl
nsIQuotaResults.idl Bug 1873777 - Remove [function] attribute from interfaces which are not meant to be callbacks r=mccr8 2024-01-12 19:05:26 +00:00
nsIndexedDBProtocolHandler.cpp
nsIndexedDBProtocolHandler.h