Closed Bug 1808294 Opened 3 years ago Closed 1 year ago

Improve testing of usage tracking and origin initialization including all the necessary refactorings and new testing infrastructrue

Categories

(Core :: Storage: Quota Manager, task, P1)

task

Tracking

()

RESOLVED FIXED
124 Branch

People

(Reporter: janv, Assigned: janv)

References

(Blocks 2 open bugs)

Details

Attachments

(17 files, 56 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

TestFileSystemQuotaClient.cpp was added to test usage tracking and origin initialization of the OPFS quota client. At that time we did have some supporting infrastructure, but it wasn't great. So the test did what it could at the time. Note that this is all written in C++ because some things just can't be tested in mochitests and even xpcshell tests are not always suitable.

Bug 1671932 needs to do quite big architectural changes in the way how we initialize storage which can cause new regressions potentially caught too late.

This bug is mostly about:

  • providing new better testing infrastructure for testing of usage tracking and origin initialization and various other situations which will be affected by follow-up changes for bug 1866217 and bug 1866402.
  • rewriting and improving TestFileSystemQuotaClient.cpp using the new testing infrastructure
  • other necessary related refactorings
  • reducing related technical dept which accumulated over the time
  • pave a way for writing tests for bug 1866240 more easily

The new class supports setting a custom factory, so tests can use it for
overriding the quota client implementation.

Depends on D165678

Depends on D165851

Comment on attachment 9310470 [details]
Bug 1808294 - Add more helpers to QuotaManagerDependencyFixture; r=#dom-storage

Revision D165853 was moved to bug 1801364. Setting attachment 9310470 [details] to obsolete.

Attachment #9310470 - Attachment is obsolete: true

Depends on D165851

Attachment #9310470 - Attachment is obsolete: false
Keywords: leave-open
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6a6b07150e31 Extend nsIQuotaOriginUsageResult to match UsageInfo; r=dom-storage-reviewers,jari
Blocks: 1671932
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5ce3750946e3 Add a common way to create quota client directories; r=dom-storage-reviewers,jari
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/19db6b0f6713 Create a dedicated factory for FileSystemQuotaClient; r=dom-storage-reviewers,jari

There's now a dedicated method QuotaManager::ClearStoragesForOrigin which can
be called in the parent process directly, so the fixture doesn't have to use
IPC for clearing origins anymore.

The method is currently only used for ensuring that quota manager exists, so the new name reflects that.

Depends on D191915

This patch also adds QuotaManager::StorageInitialized and
QuotaManager::TemporaryStorageInitialized which can be then used by the
QuotaManagerDependencyFixture.

Depends on D191927

QuotaManager::StorageInitialized is the primary source of truth.
QuotaManager::IsStorageInitialized only synchronously checks a flag which
shadows the primary state on the QuotaManager IO thread. Calling an async
method better matches other QuotaManagerDependencyFixture methods.

Depends on D191930

QuotaManagerDependencyFixture::IsStorageInitialized now uses
QuotaManager::StorageInitialized, so it makes sense to remove "Is" from all
storage initialization checking methods as well.

Depends on D191932

One of the goals of the asynchronous temporary storage initialization is to
call EnsureTemporaryStorageIsInitialized only from InitTemporaryStorageOp.
Calling from other places including quota clients will be disallowed by
changing the method to a private method. The private nature of the method
should be emphasized by adding the Internal suffix.

Changes done in this patch:

  • IsTemporaryStorageInitialized renamed to
    IsTemporaryStorageInitializedInternal
  • EnsureTemporaryStorageIsInitialized renamed to
    EnsureTemporaryStorageIsInitializedInternal

There's currently EnsureTemporaryStorageIsInitializedInternal which can only be
called on the QuotaManager IO thread. That method shouldn't be exposed to quota
clients and origin operations. There should be a public method callable from
the PBackground thread returning a MozPromise instead. Such method will
guarantee that proper directory locking is acquired before temporary storage
initialization is started.

Depends on D188332

EnsureTemporaryOriginIsInitialized currently takes two separate arguments which
can be expressed as just one argument.

Depends on D192135

One of the goals of the asynchronous temporary storage initialization is to
call Ensure(Persistent|Temporary)OriginIsInitialized only from
Initialize(Persistent|Temporary)OriginOp. Calling from other places including
quota clients will be disallowed by changing the method to a private method.
The private nature of the method should be emphasized by adding the Internal
suffix.

Depends on D192149

Attachment #9361373 - Attachment description: Bug 1808294 - Add DirectoryLock::Acquired; r=#dom-storage → Bug 1808294 - Add DirectoryLock::Acquired method; r=#dom-storage

QuotaManager::InitializeStorage and QuotaManager::InitializeTemporaryStorage
currently check if there are any clear or shutdown storage operations even when
the directory lock has been acquired. There should be no such operations, so
the check can be removed.

Depends on D192444

Counting of clear/shutdown storage operations was only a temporary solution.
We are now approaching a point when we will be able to initialize origins
asynchronously and that can't efficiently work with counting of clear origin
operations because initialization and clearing of origins is parameterized by
persistence type and actual origin. So there can be a clear origin operation
which doesn't block other init origin operation. Couting of clear operations
would be problematic in that case.
Evaluation of existing directory locks should work both for storage and origin
initializatin.

Attachment #9360341 - Attachment description: Bug 1808294 - Rename QuotaManagerDependencyFixture::StorageInititalized to EnsureQuotaManager and make it private; r=#dom-storage → Bug 1808294 - Rename QuotaManagerDependencyFixture::StorageInitialized to EnsureQuotaManager and make it private; r=#dom-storage
Attachment #9360349 - Attachment description: Bug 1808294 - Rename storage initializatin checking QuotaManagerDependencyFixture methods; r=#dom-storage → Bug 1808294 - Rename storage initialization checking QuotaManagerDependencyFixture methods; r=#dom-storage

There are currently EnsurePersistentOriginIsInitializedInternal and
EnsureTemporaryOriginIsInitializedInternal methods which can only be
called on the QuotaManager IO thread. These methods shouldn't be exposed to
quota clients and origin operations. There should be public methods callable
from the PBackground thread returning a MozPromise instead. Such methods will
guarantee that proper directory locking is acquired before persistent origin
initialization or temporary origin initialization is started.

Depends on D192150

Multiple helper classes will need to call this method.

Depends on D194005

This is one of the things which are needed for making GetUsageOp and
GetOriginUsageOp independent from the actor. In practise, for changing the main
base class of the operations from QuotaUsageRequestBase to
ResolvableNormalOriginOp.

Depends on D194010

ResolvableNormalOriginOp::SendResults currently doesn't check the mCanceled
flag despite that it inherits from NormalOriginOperationBase which allows
setting mCanceled to true.

Depends on D194011

Depends on D194035

OriginOperationBase is finally fully abstract.

Depends on D194036

The class which implements the protocol is already refcounted, but the
interaction with IPC still uses manual deallocation.

Depends on D194037

This is a prerequisite to make GetUsageOp independent from the actor.

Depends on D194042

This will allow to include QuotaCommon.h in header files less often.

Depends on D194053

It's now also possible to define callbacks for move-only types.

Depends on D194058

This test is needed for making sure that upcoming refactoring doesn't regress
getting origin usage, especially the cancelling of requests.

Depends on D194070

Depends on D194082

Sub actors are still created, but their only purpose is to allow cancellation
of alreaady created requests. Actual results are now returned as asynchronous
responses to the asynchronous messages.

Depends on D194085

PQuotaUsageRequest is now only used for cancellation of requests, constructed
using managed endpoints.

Depends on D194097

Actual results are now returned as asynchronous responses to the asynchronous
messages.

Depends on D194150

CanSend can be used instead of custom tracking of the actor state.

Depends on D194153

The class is not used as a base for other classes anymore.

Depends on D194198

Depends on D194200

The return value is deduced from the performed function.

Depends on D165853

Depends on D194345

Depends on D194362

Some helper methods have been also generalized to work with any origin.

Depends on D194462

Blocks: 1866217

The new test suite is intended for integration tests which verify usage
tracking without any restart in between. The suite is based on the existing
TestFileSystemQuotaClient suite except the test which in theory request a
restart in between: TrackedFilesOnInitOriginShouldCauseRescan.

TestFileSystemQuotaClient.cpp will get removed after some additional
refactoring.

Depends on D194463

FileSystemQuotaClient::InitOrigin shouldn't be called when temporary storage is
already initialized. It shouldn't be called when there's already active storage
connection for the OPFS database either.

Depends on D194466

Blocks: 1866240

Depends on D194467

Depends on D194485

Depends on D194487

Currently, getting cached origin usage may trigger temporary storage
initialization which is a problem in tests when we want just compare real and
cached usage without affecting the state of initialization.

This patch changes the behavior to return Nothing if temporary storage is not
initialized.

Consumers may either explicitly make sure that temporary storage is initialized
before getting cached origin usage or they can use the other mode when real
usage is colleced from disk.

Depends on D194502

There are plans to add nsIQuotaManagerService::getCachedUsageForPrincipal and
then remove the aFromMemory argument from
nsIQuotaManagerService::getUsageForPrincipal, so this patch adds a testing
method in that sense.

Depends on D194507

Some tests need to create a connection to check usage when storage is not
initialized.

Depends on D194518

Depends on D194519

Depends on D194533

The TestFileSystemQuotaClient test suite has been replacted with
TestFileSystemUsageTracking and TestFileSystemOriginInitialization test suites.

Depends on D166175

InitOrigin is supposed to be called when temporary storage is not initialized
or is being initialized. On the other hand, GetUsageForOrigin is supposed to be
called only when temporary storage is already initialized.

Depends on D194540

Component: DOM: File → Storage: Quota Manager
Summary: Refactor TestFileSystemQuotaClient.cpp → Improve testing of usage tracking and origin initialization including all the necessary refactorings and new testing infrastructrue
Priority: P2 → P1
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5b8110610881 Change QuotaManagerDependencyFixture::ClearStoragesForOrigin to call QuotaManager::ClearStoragesForOrigin directly; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/34692f93e3cf Rename QuotaManagerDependencyFixture::StorageInitialized to EnsureQuotaManager and make it private; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/5abcd2975dea Rework QuotaManagerService::StorageInitialized and QuotaManager::TemporaryStorageInitialized to use asynchronous messages instead of creating sub actors; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/5a8c8645f229 Change QuotaManagerDependencyFixture::IsStorageInitialized to use QuotaManager::StorageInitialized instead of QuotaManager::IsStorageInitialized; r=dom-storage-reviewers,jari,hsingh https://hg.mozilla.org/integration/autoland/rev/3af420373710 Rename storage initialization checking QuotaManagerDependencyFixture methods; r=dom-storage-reviewers,jari,hsingh https://hg.mozilla.org/integration/autoland/rev/bb4187cf72f9 Rename EnsureTemporaryStorageIsInitialized to EnsureTemporaryStorageIsInitializedInternal; r=dom-storage-reviewers,asuth https://hg.mozilla.org/integration/autoland/rev/35cd604059a3 Add QuotaManager::InitializeTemporaryStorage method; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/9c6a5f90c3aa Add DirectoryLock::Acquired method; r=dom-storage-reviewers,jari

All quota clients now use QuotaManager::OpenClientDirectory instead of
requesting a directory lock directly and there are no other consumers of the
Acquire method which takes a listener, so the method and the listener can be
safely removed.

Depends on D193105

The method name can't be Release because that's already used for ref-counting.
The next best alternative seems to be Drop. The explicit Drop method is needed
to make it later possible to release directory locks asynchronously and also to
make it more obvious when directory locks are released which is not that clear
now when directory locks are released when the last strong reference is removed.

Depends on D197289

DirectoryLock::AcquireImmediately is supposed to be called only when there are
no blocking directory locks, so the flag can be flipped immediately too.

Depends on D197292

Until now, directory locks were dropped when the last strong reference was
removed or after calling Drop explicitly. The dependency on ref-counting makes
it less obvious when directory locks are dropped for real and it's also
difficult to release them asynchronously eventually. This patch removes the
directory lock unregistration from the destructor, so from now on, directory
locks must be always dropped explicitly.

Depends on D197293

Depends on D197294

For now, asynchronous Drop is only needed for replacing counting of pending
clear/shutdown storage operations with evaluation of existing directory locks.
In future, asynchronous Drop will also allow to do IO, for example if we decide
to wait for saving of origin access time to be finished.

Depends on D197297

Some gtests need to invoke functions at specifix moments, for example just
before an origin operation is finished. This patch adds support for that and
also callbacks which are resolved/rejected just after an origin operation is
finished. Consumers can either use asynchronous or synchronous callbacks.

Depends on D197298

This is an edge case and was the primary reason for making DirectoryLock::Drop
async. Async Drop is needed for replacing counting of pending clear/shutdown storage operations with evaluation of existing directory locks because of this
scenario:

  • ShutdownStorageOp::DoDirectoryWork is done
  • NormalOriginOperationBase::UnblockOpen calls SendResults
  • ResolvableNormalOriginOp::SendResults resolves the promise (a new runnable is
    dispatched to the current thread)
  • NormalOriginOperationBase::UnblockOpen calls CloseDirectory
  • ShutdownStorageOp::CloseDirectory drops the directory lock immediately and
    synchronously
  • The current runnable is done
  • A pending runnable is being processed which calls InitializeStorage
  • InitializeStorage still sees that mStorageInitializes is true and that there
    are no existing directory locks, so it immediately resolves its promise
  • The runnable dispatched from ResolvableNormalOriginOp::SendResults is
    processed and the handler for it sets mStorageInitialized to false in
    QuotaManager::ShutdownStorage
  • Finally, mStorageInitialized is false, but it should be true

So the problem in the scenario is that the directory lock is dropped
synchronously. However, all directory locks are now dropped explicitly and
asynchronously so InitializeStorage would still see the directory lock for
ShutdownStorage and wouldn't immediately resolve its promise.

This new test simulates the described scenario.

Depends on D197319

Attachment #9365182 - Attachment description: Bug 1808294 - Check output parameter of GetOriginUsage for null; r=#dom-storage → Bug 1808294 - Change GetOriginUsage to always require non-null output argument; r=#dom-storage

Comment on attachment 9365197 [details]
Bug 1808294 - Expose GetStorageConnection via FileSystemDataManager.h; r=#dom-storage

Revision D194519 was moved to bug 1871799. Setting attachment 9365197 [details] to obsolete.

Attachment #9365197 - Attachment is obsolete: true
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/135ea5e401e8 Add DirectoryLock::LocksMustWaitFor method; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/a4948d095571 Add support for directory lock categories; r=dom-storage-reviewers,aiunusov,jari https://hg.mozilla.org/integration/autoland/rev/4503522bcc0e Remove OpenDirectoryListener and related DirectoryLock::Acquire method; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/2e2c5894e228 Introduce explicit method for releasing directory locks; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/f020830ab616 Fix DirectoryLock::AcquireImmediately to flip mAcquired flag; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/0e92fa835e26 Add DirectoryLock::MustWait method; r=dom-storage-reviewers,hsingh,jari
Blocks: 1883353
See Also: → 1883353
Keywords: leave-open
See Also: 1883353

Comment on attachment 9370271 [details]
Bug 1808294 - Require to always drop directory locks explicitly; r=#dom-storage

Revision D197294 was moved to bug 1883353. Setting attachment 9370271 [details] to obsolete.

Attachment #9370271 - Attachment is obsolete: true

Comment on attachment 9370276 [details]
Bug 1808294 - Add testing for DirectoryLock::Drop; r=#dom-storage

Revision D197297 was moved to bug 1883353. Setting attachment 9370276 [details] to obsolete.

Attachment #9370276 - Attachment is obsolete: true

Comment on attachment 9370278 [details]
Bug 1808294 - Change DirectoryLock::Drop to be asynchronous; r=#dom-storage

Revision D197298 was moved to bug 1883353. Setting attachment 9370278 [details] to obsolete.

Attachment #9370278 - Attachment is obsolete: true
Blocks: 1903186
No longer blocks: 1883353

Comment on attachment 9370309 [details]
Bug 1808294 - Add callbacks for origin operations; r=#dom-storage

Revision D197318 was moved to bug 1905011. Setting attachment 9370309 [details] to obsolete.

Attachment #9370309 - Attachment is obsolete: true

Comment on attachment 9370311 [details]
Bug 1808294 - Add optional callbacks to QuotaManager::ShutdownStorage; r=#dom-storage

Revision D197319 was moved to bug 1905011. Setting attachment 9370311 [details] to obsolete.

Attachment #9370311 - Attachment is obsolete: true

Comment on attachment 9370316 [details]
Bug 1808294 - Add testing for InitializeStorage scheduled just before ShutdownStorage is finished; r=#dom-storage

Revision D197322 was moved to bug 1905011. Setting attachment 9370316 [details] to obsolete.

Attachment #9370316 - Attachment is obsolete: true

Comment on attachment 9361374 [details]
Bug 1808294 - Remove unneeded checks involving mShutdownStorageOpCount; r=#dom-storage

Revision D192445 was moved to bug 1905011. Setting attachment 9361374 [details] to obsolete.

Attachment #9361374 - Attachment is obsolete: true

Comment on attachment 9362800 [details]
Bug 1808294 - Replace counting of pending clear/shutdown storage operations with evaluation of existing directory locks; r=#dom-storage

Revision D193191 was moved to bug 1905011. Setting attachment 9362800 [details] to obsolete.

Attachment #9362800 - Attachment is obsolete: true

Comment on attachment 9360857 [details]
Bug 1808294 - Simplify signature of QuotaManager::EnsureTemporaryOriginIsInitialized; r=#dom-storage

Revision D192149 was moved to bug 1906041. Setting attachment 9360857 [details] to obsolete.

Attachment #9360857 - Attachment is obsolete: true

Comment on attachment 9360860 [details]
Bug 1808294 - Rename Ensure(Persistent|Temporary)OriginIsInitialized to Ensure(Persistent|Temporary)OriginIsInitializedInternal; r=#dom-storage

Revision D192150 was moved to bug 1906041. Setting attachment 9360860 [details] to obsolete.

Attachment #9360860 - Attachment is obsolete: true

Comment on attachment 9364351 [details]
Bug 1808294 - Add QuotaManager::Initialize(Persistent|Temporary)Origin methods; r=#dom-storage

Revision D194005 was moved to bug 1906041. Setting attachment 9364351 [details] to obsolete.

Attachment #9364351 - Attachment is obsolete: true

Comment on attachment 9364360 [details]
Bug 1808294 - Pull out TraverseRepositoryHelper::GetIsCanceledFlag method into a new base class; r=#dom-storage

Revision D194010 was moved to bug 1910848. Setting attachment 9364360 [details] to obsolete.

Attachment #9364360 - Attachment is obsolete: true

Comment on attachment 9364363 [details]
Bug 1808294 - Pull out GetUsageForOrigin and GetUsageForOriginEntries methods from QuotaUsageRequestBase into a new base class; r=#dom-storage

Revision D194011 was moved to bug 1910848. Setting attachment 9364363 [details] to obsolete.

Attachment #9364363 - Attachment is obsolete: true

Comment on attachment 9364407 [details]
Bug 1808294 - Align QuotaUsageRequestBase::SendResults and ResolvableNormalOriginOp::SendResults; r=#dom-storage

Revision D194035 was moved to bug 1910848. Setting attachment 9364407 [details] to obsolete.

Attachment #9364407 - Attachment is obsolete: true

Comment on attachment 9364410 [details]
Bug 1808294 - Encapsulate NormalOriginOperationBase::mCanceled; r=#dom-storage

Revision D194036 was moved to bug 1883353. Setting attachment 9364410 [details] to obsolete.

Attachment #9364410 - Attachment is obsolete: true

Comment on attachment 9364412 [details]
Bug 1808294 - Pull out OriginOperationBase::mActorDestroyed to actor classes; r=#dom-storage

Revision D194037 was moved to bug 1883353. Setting attachment 9364412 [details] to obsolete.

Attachment #9364412 - Attachment is obsolete: true

Comment on attachment 9364420 [details]
Bug 1808294 - Make PQuotaUsageRequest protocol refcounted; r=#dom-storage

Revision D194042 was moved to bug 1883353. Setting attachment 9364420 [details] to obsolete.

Attachment #9364420 - Attachment is obsolete: true

Comment on attachment 9364435 [details]
Bug 1808294 - Replace custom OriginUsage with a common OriginUsageMetadata struct; r=#dom-storage

Revision D194053 was moved to bug 1910848. Setting attachment 9364435 [details] to obsolete.

Attachment #9364435 - Attachment is obsolete: true

Comment on attachment 9364438 [details]
Bug 1808294 - Move BackgroundThreadObject to separate files; r=#dom-storage

Revision D194056 was moved to bug 1910848. Setting attachment 9364438 [details] to obsolete.

Attachment #9364438 - Attachment is obsolete: true

Comment on attachment 9364442 [details]
Bug 1808294 - Make it easy to define new ResponsePromiseResolveOrRejectCallback based types; r=#dom-storage

Revision D194058 was moved to bug 1910848. Setting attachment 9364442 [details] to obsolete.

Attachment #9364442 - Attachment is obsolete: true

Comment on attachment 9364455 [details]
Bug 1808294 - Make it easy to define new ResolveResponseAndReturn/PromiseResolveOrRejectCallback based callbacks; r=#dom-storage

Revision D194064 was moved to bug 1910848. Setting attachment 9364455 [details] to obsolete.

Attachment #9364455 - Attachment is obsolete: true

Comment on attachment 9364464 [details]
Bug 1808294 - Make it possible to use ResolvableNormalOriginOp with move-only types; r=#dom-storage

Revision D194070 was moved to bug 1910848. Setting attachment 9364464 [details] to obsolete.

Attachment #9364464 - Attachment is obsolete: true

Comment on attachment 9364470 [details]
Bug 1808294 - Add a test for nsIQuotaManagerService::GetUsageForPrincipal; r=#dom-storage

Revision D194073 was moved to bug 1910848. Setting attachment 9364470 [details] to obsolete.

Attachment #9364470 - Attachment is obsolete: true

Comment on attachment 9364483 [details]
Bug 1808294 - Convert test_getUsage.js from using generator functions to using async functions instead; r=#dom-storage

Revision D194082 was moved to bug 1910848. Setting attachment 9364483 [details] to obsolete.

Attachment #9364483 - Attachment is obsolete: true

Comment on attachment 9364653 [details]
Bug 1808294 - Add support for pausing QM IO thread after finishing directory work; r=#dom-storage

Revision D194176 was moved to bug 1910848. Setting attachment 9364653 [details] to obsolete.

Attachment #9364653 - Attachment is obsolete: true

Comment on attachment 9364491 [details]
Bug 1808294 - Add testing for nsIQuotaUsageRequest.cancel(); r=#dom-storage

Revision D194085 was moved to bug 1910848. Setting attachment 9364491 [details] to obsolete.

Attachment #9364491 - Attachment is obsolete: true

Comment on attachment 9364519 [details]
Bug 1808294 - Rework QuotaManagerService methods for getting usage to use async messages with async responses; r=#dom-storage

Revision D194097 was moved to bug 1910848. Setting attachment 9364519 [details] to obsolete.

Attachment #9364519 - Attachment is obsolete: true

Comment on attachment 9364595 [details]
Bug 1808294 - Remove unused PQuotaUsageRequest constructor; r=#dom-storage

Revision D194150 was moved to bug 1910848. Setting attachment 9364595 [details] to obsolete.

Attachment #9364595 - Attachment is obsolete: true

Comment on attachment 9364599 [details]
Bug 1808294 - Remove unused delete argument; r=#dom-storage

Revision D194153 was moved to bug 1910848. Setting attachment 9364599 [details] to obsolete.

Attachment #9364599 - Attachment is obsolete: true

Comment on attachment 9364684 [details]
Bug 1808294 - Remove unneeded QuotaUsageRequestBase::mActorDestroyed flag; r=#dom-storage

Revision D194198 was moved to bug 1910848. Setting attachment 9364684 [details] to obsolete.

Attachment #9364684 - Attachment is obsolete: true

Comment on attachment 9364686 [details]
Bug 1808294 - Rename QuotaUsageRequestBase to QuotaUsageRequestParent; r=#dom-storage

Revision D194200 was moved to bug 1910848. Setting attachment 9364686 [details] to obsolete.

Attachment #9364686 - Attachment is obsolete: true

Comment on attachment 9364688 [details]
Bug 1808294 - Move QuotaUsageRequestChild to separate files; r=#dom-storage

Revision D194202 was moved to bug 1910848. Setting attachment 9364688 [details] to obsolete.

Attachment #9364688 - Attachment is obsolete: true

Comment on attachment 9364702 [details]
Bug 1808294 - Switch PQuotaUsageRequest to non-virtual implementation; r=#dom-storage

Revision D194214 was moved to bug 1910848. Setting attachment 9364702 [details] to obsolete.

Attachment #9364702 - Attachment is obsolete: true

Comment on attachment 9365179 [details]
Bug 1808294 - Gettting cached origin usage shouldn't trigger temporary storage initialization; r=#dom-storage

Revision D194504 was moved to bug 1912272. Setting attachment 9365179 [details] to obsolete.

Attachment #9365179 - Attachment is obsolete: true

Comment on attachment 9364883 [details]
Bug 1808294 - Add Await convenience method to QuotaManagerDependencyFixture; r=#dom-storage

Revision D194326 was moved to bug 1912272. Setting attachment 9364883 [details] to obsolete.

Attachment #9364883 - Attachment is obsolete: true

Comment on attachment 9310470 [details]
Bug 1808294 - Add more helpers to QuotaManagerDependencyFixture; r=#dom-storage

Revision D165853 was moved to bug 1912272. Setting attachment 9310470 [details] to obsolete.

Attachment #9310470 - Attachment is obsolete: true

Comment on attachment 9365182 [details]
Bug 1808294 - Change GetOriginUsage to always require non-null output argument; r=#dom-storage

Revision D194507 was moved to bug 1912272. Setting attachment 9365182 [details] to obsolete.

Attachment #9365182 - Attachment is obsolete: true

Comment on attachment 9365193 [details]
Bug 1808294 - Add QuotaManagerDependencyFixture::GetCachedOriginUsage; r=#dom-storage

Revision D194518 was moved to bug 1912272. Setting attachment 9365193 [details] to obsolete.

Attachment #9365193 - Attachment is obsolete: true

Comment on attachment 9364910 [details]
Bug 1808294 - Add support for returning values from PerformOnThread functions; r=#dom-storage

Revision D194345 was moved to bug 1912272. Setting attachment 9364910 [details] to obsolete.

Attachment #9364910 - Attachment is obsolete: true

Comment on attachment 9364922 [details]
Bug 1808294 - Introduce ENSURE_NO_FATAL_FAILURE macro; r=#dom-storage

Revision D194356 was moved to bug 1912272. Setting attachment 9364922 [details] to obsolete.

Attachment #9364922 - Attachment is obsolete: true

Comment on attachment 9364928 [details]
Bug 1808294 - Add FileSystemDatabaseManager::GetUsage non-static method; r=#dom-storage

Revision D194362 was moved to bug 1912414. Setting attachment 9364928 [details] to obsolete.

Attachment #9364928 - Attachment is obsolete: true

Comment on attachment 9364940 [details]
Bug 1808294 - Add TEST_TRY macro; r=#dom-storage

Revision D194365 was moved to bug 1912414. Setting attachment 9364940 [details] to obsolete.

Attachment #9364940 - Attachment is obsolete: true

Comment on attachment 9365121 [details]
Bug 1808294 - Clean up include declarations in TestFileSystemQuotaClient.cpp; r=#dom-storage

Revision D194462 was moved to bug 1912414. Setting attachment 9365121 [details] to obsolete.

Attachment #9365121 - Attachment is obsolete: true

Comment on attachment 9365122 [details]
Bug 1808294 - Move parent test helpers to separate files; r=#dom-storage

Revision D194463 was moved to bug 1912414. Setting attachment 9365122 [details] to obsolete.

Attachment #9365122 - Attachment is obsolete: true

Comment on attachment 9365124 [details]
Bug 1808294 - Introduce TestFileSystemUsageTracking.cpp; r=#dom-storage

Revision D194465 was moved to bug 1912414. Setting attachment 9365124 [details] to obsolete.

Attachment #9365124 - Attachment is obsolete: true

Comment on attachment 9365125 [details]
Bug 1808294 - Init quota manager fixture only once during TestFileSystemUsageTracking test suite; r=#dom-storage

Revision D194466 was moved to bug 1912414. Setting attachment 9365125 [details] to obsolete.

Attachment #9365125 - Attachment is obsolete: true

Comment on attachment 9365127 [details]
Bug 1808294 - Replace FileSystemQuotaClient::InitOrigin calls with FileSystemDatabaseManager::GetUsage calls; r=#dom-storage

Revision D194467 was moved to bug 1912414. Setting attachment 9365127 [details] to obsolete.

Attachment #9365127 - Attachment is obsolete: true

Comment on attachment 9365151 [details]
Bug 1808294 - Execute test operations on the right thread; r=#dom-storage

Revision D194485 was moved to bug 1912414. Setting attachment 9365151 [details] to obsolete.

Attachment #9365151 - Attachment is obsolete: true

Comment on attachment 9365153 [details]
Bug 1808294 - Final cleanup of TestFileSystemUsageTracking.cpp; r=#dom-storage

Revision D194487 was moved to bug 1912414. Setting attachment 9365153 [details] to obsolete.

Attachment #9365153 - Attachment is obsolete: true

Comment on attachment 9365174 [details]
Bug 1808294 - Move parent test fixture to separate files; r=#dom-storage

Revision D194502 was moved to bug 1912414. Setting attachment 9365174 [details] to obsolete.

Attachment #9365174 - Attachment is obsolete: true

Comment on attachment 9365217 [details]
Bug 1808294 - Add GetTestClientMetadata function; r=#dom-storage

Revision D194533 was moved to bug 1912414. Setting attachment 9365217 [details] to obsolete.

Attachment #9365217 - Attachment is obsolete: true

Comment on attachment 9365221 [details]
Bug 1808294 - Add more helpers to FileSystemParentTest; r=#dom-storage

Revision D194536 was moved to bug 1912414. Setting attachment 9365221 [details] to obsolete.

Attachment #9365221 - Attachment is obsolete: true

Comment on attachment 9311036 [details]
Bug 1808294 - Create a dedicated test for origin initialization; r=#dom-storage

Revision D166175 was moved to bug 1912414. Setting attachment 9311036 [details] to obsolete.

Attachment #9311036 - Attachment is obsolete: true

Comment on attachment 9365228 [details]
Bug 1808294 - Remove TestFileSystemQuotaClient.cpp; r=#dom-storage

Revision D194540 was moved to bug 1912414. Setting attachment 9365228 [details] to obsolete.

Attachment #9365228 - Attachment is obsolete: true

Comment on attachment 9365230 [details]
Bug 1808294 - Make sure InitOrigin and GetUsageForOrigin are called as expected; r=#dom-storage

Revision D194542 was moved to bug 1912414. Setting attachment 9365230 [details] to obsolete.

Attachment #9365230 - Attachment is obsolete: true
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 124 Branch
No longer blocks: 1866240
See Also: → 1866240
No longer blocks: 1866217
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: