mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 03:45:46 +00:00
Bug 1620917 - Ensure a failure of StartTransactionOp is correctly handled on the resulting CommitOp. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D67667 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
532b6f80be
commit
4b23573552
@ -11342,7 +11342,14 @@ nsresult DatabaseConnection::DisableQuotaChecks() {
|
||||
|
||||
void DatabaseConnection::EnableQuotaChecks() {
|
||||
AssertIsOnConnectionThread();
|
||||
MOZ_ASSERT(mQuotaObject);
|
||||
if (!mQuotaObject) {
|
||||
MOZ_ASSERT(!mJournalQuotaObject);
|
||||
|
||||
// DisableQuotaChecks failed earlier, so we don't need to enable quota
|
||||
// checks again.
|
||||
return;
|
||||
}
|
||||
|
||||
MOZ_ASSERT(mJournalQuotaObject);
|
||||
|
||||
const RefPtr<QuotaObject> quotaObject = std::move(mQuotaObject);
|
||||
@ -14452,10 +14459,10 @@ nsresult Database::StartTransactionOp::DoDatabaseWork(
|
||||
Transaction().SetActiveOnConnectionThread();
|
||||
|
||||
if (Transaction().GetMode() == IDBTransaction::Mode::Cleanup) {
|
||||
nsresult rv = aConnection->DisableQuotaChecks();
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return rv;
|
||||
}
|
||||
DebugOnly<nsresult> rv = aConnection->DisableQuotaChecks();
|
||||
NS_WARNING_ASSERTION(NS_SUCCEEDED(rv),
|
||||
"DisableQuotaChecks failed, trying to continue "
|
||||
"cleanup transaction with quota checks enabled");
|
||||
}
|
||||
|
||||
if (Transaction().GetMode() != IDBTransaction::Mode::ReadOnly) {
|
||||
|
Loading…
Reference in New Issue
Block a user