@@ -1718,6 +1718,8 @@ class ConnectionPool::TransactionInfo final {
17181718
17191719 void RemoveBlockingTransactions();
17201720
1721+ void StartOp(nsCOMPtr<nsIRunnable> aRunnable);
1722+
17211723 private:
17221724 ~TransactionInfo();
17231725
@@ -7973,21 +7975,8 @@ void ConnectionPool::StartOp(uint64_t aTransactionId,
79737975
79747976 auto* const transactionInfo = mTransactions.Get(aTransactionId);
79757977 MOZ_ASSERT(transactionInfo);
7976- MOZ_ASSERT(!transactionInfo->mFinished);
79777978
7978- if (transactionInfo->mRunning) {
7979- DatabaseInfo& dbInfo = transactionInfo->mDatabaseInfo;
7980- MOZ_ASSERT(dbInfo.mEventTarget);
7981- MOZ_ASSERT(!dbInfo.mClosing);
7982- MOZ_ASSERT_IF(
7983- transactionInfo->mIsWriteTransaction,
7984- dbInfo.mRunningWriteTransaction &&
7985- dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo));
7986-
7987- MOZ_ALWAYS_SUCCEEDS(dbInfo.Dispatch(aRunnable.forget()));
7988- } else {
7989- transactionInfo->mQueuedRunnables.AppendElement(std::move(aRunnable));
7990- }
7979+ transactionInfo->StartOp(std::move(aRunnable));
79917980}
79927981
79937982void ConnectionPool::Finish(uint64_t aTransactionId,
@@ -8848,6 +8837,23 @@ void ConnectionPool::TransactionInfo::RemoveBlockingTransactions() {
88488837 mBlockingOrdered.Clear();
88498838}
88508839
8840+ void ConnectionPool::TransactionInfo::StartOp(nsCOMPtr<nsIRunnable> aRunnable) {
8841+ AssertIsOnBackgroundThread();
8842+ MOZ_ASSERT(!mFinished);
8843+
8844+ if (mRunning) {
8845+ MOZ_ASSERT(mDatabaseInfo.mEventTarget);
8846+ MOZ_ASSERT(!mDatabaseInfo.mClosing);
8847+ MOZ_ASSERT_IF(mIsWriteTransaction,
8848+ mDatabaseInfo.mRunningWriteTransaction &&
8849+ mDatabaseInfo.mRunningWriteTransaction.refEquals(*this));
8850+
8851+ MOZ_ALWAYS_SUCCEEDS(mDatabaseInfo.Dispatch(aRunnable.forget()));
8852+ } else {
8853+ mQueuedRunnables.AppendElement(std::move(aRunnable));
8854+ }
8855+ }
8856+
88518857void ConnectionPool::TransactionInfo::MaybeUnblock(
88528858 TransactionInfo& aTransactionInfo) {
88538859 AssertIsOnBackgroundThread();
0 commit comments