void IDBDatabase::didCommitOrAbortTransaction(IDBTransaction& transaction) { LOG(IndexedDB, "IDBDatabase::didCommitOrAbortTransaction %s", transaction.info().identifier().loggingString().utf8().data()); if (m_versionChangeTransaction == &transaction) m_versionChangeTransaction = nullptr; #ifndef NDBEBUG unsigned count = 0; if (m_activeTransactions.contains(transaction.info().identifier())) ++count; if (m_committingTransactions.contains(transaction.info().identifier())) ++count; if (m_abortingTransactions.contains(transaction.info().identifier())) ++count; ASSERT(count == 1); #endif m_activeTransactions.remove(transaction.info().identifier()); m_committingTransactions.remove(transaction.info().identifier()); m_abortingTransactions.remove(transaction.info().identifier()); if (m_closePending) maybeCloseInServer(); }
void IDBDatabase::close() { LOG(IndexedDB, "IDBDatabase::close - %" PRIu64, m_databaseConnectionIdentifier); m_closePending = true; maybeCloseInServer(); }
void IDBDatabase::close() { LOG(IndexedDB, "IDBDatabase::close - %" PRIu64, m_databaseConnectionIdentifier); ASSERT(currentThread() == originThreadID()); m_closePending = true; maybeCloseInServer(); }
void IDBDatabase::close() { LOG(IndexedDB, "IDBDatabase::close - %" PRIu64, m_databaseConnectionIdentifier); ASSERT(&originThread() == &Thread::current()); if (!m_closePending) { m_closePending = true; m_connectionProxy->databaseConnectionPendingClose(*this); } maybeCloseInServer(); }
void IDBDatabase::didAbortTransaction(IDBTransaction& transaction) { LOG(IndexedDB, "IDBDatabase::didAbortTransaction %s", transaction.info().identifier().loggingString().utf8().data()); if (transaction.isVersionChange()) { ASSERT(transaction.originalDatabaseInfo()); ASSERT(m_info.version() == transaction.originalDatabaseInfo()->version()); m_closePending = true; maybeCloseInServer(); } didCommitOrAbortTransaction(transaction); }
void IDBDatabase::close() { m_closePending = true; maybeCloseInServer(); }