// Clean up transactions that have not been scheduled yet:
// Transaction phase 1 cleanup. See comment on "What happens if a
// transaction is interrupted?" at the top of SQLTransactionBackend.cpp.
- RefPtrWillBeRawPtr<SQLTransactionBackend> transaction = nullptr;
+ SQLTransactionBackend* transaction = nullptr;
while (!m_transactionQueue.isEmpty()) {
transaction = m_transactionQueue.takeFirst();
transaction->notifyDatabaseThreadIsShuttingDown();
databaseContext()->databaseThread()->recordDatabaseClosed(this);
}
-PassRefPtrWillBeRawPtr<SQLTransactionBackend> Database::runTransaction(PassRefPtrWillBeRawPtr<SQLTransaction> transaction,
- bool readOnly, const ChangeVersionData* data)
+SQLTransactionBackend* Database::runTransaction(SQLTransaction* transaction, bool readOnly, const ChangeVersionData* data)
{
MutexLocker locker(m_transactionInProgressMutex);
if (!m_isTransactionQueueEnabled)
return nullptr;
- RefPtrWillBeRawPtr<SQLTransactionWrapper> wrapper = nullptr;
+ SQLTransactionWrapper* wrapper = nullptr;
if (data)
wrapper = ChangeVersionWrapper::create(data->oldVersion(), data->newVersion());
- RefPtrWillBeRawPtr<SQLTransactionBackend> transactionBackend = SQLTransactionBackend::create(this, transaction, wrapper.release(), readOnly);
+ SQLTransactionBackend* transactionBackend = SQLTransactionBackend::create(this, transaction, wrapper, readOnly);
m_transactionQueue.append(transactionBackend);
if (!m_transactionInProgress)
scheduleTransaction();
void Database::scheduleTransaction()
{
ASSERT(!m_transactionInProgressMutex.tryLock()); // Locked by caller.
- RefPtrWillBeRawPtr<SQLTransactionBackend> transaction = nullptr;
+ SQLTransactionBackend* transaction = nullptr;
if (m_isTransactionQueueEnabled && !m_transactionQueue.isEmpty())
transaction = m_transactionQueue.takeFirst();
}
class DoneCreatingDatabaseOnExitCaller {
+ STACK_ALLOCATED();
public:
DoneCreatingDatabaseOnExitCaller(Database* database)
: m_database(database)
void setOpenSucceeded() { m_openSucceeded = true; }
private:
- Database* m_database;
+ Member<Database> m_database;
bool m_openSucceeded;
};
const int maxSqliteBusyWaitTime = 30000;
- if (!m_sqliteDatabase.open(m_filename, true)) {
+ if (!m_sqliteDatabase.open(m_filename)) {
reportOpenDatabaseResult(1, InvalidStateError, m_sqliteDatabase.lastError());
errorMessage = formatErrorMessage("unable to open database", m_sqliteDatabase.lastError(), m_sqliteDatabase.lastErrorMsg());
return false;
if (Platform::current()->databaseObserver()) {
Platform::current()->databaseObserver()->reportOpenDatabaseResult(
createDatabaseIdentifierFromSecurityOrigin(securityOrigin()),
- stringIdentifier(), false,
- errorSite, webSqlErrorCode, sqliteErrorCode);
+ stringIdentifier(), errorSite, webSqlErrorCode, sqliteErrorCode);
}
}
if (Platform::current()->databaseObserver()) {
Platform::current()->databaseObserver()->reportChangeVersionResult(
createDatabaseIdentifierFromSecurityOrigin(securityOrigin()),
- stringIdentifier(), false,
- errorSite, webSqlErrorCode, sqliteErrorCode);
+ stringIdentifier(), errorSite, webSqlErrorCode, sqliteErrorCode);
}
}
if (Platform::current()->databaseObserver()) {
Platform::current()->databaseObserver()->reportStartTransactionResult(
createDatabaseIdentifierFromSecurityOrigin(securityOrigin()),
- stringIdentifier(), false,
- errorSite, webSqlErrorCode, sqliteErrorCode);
+ stringIdentifier(), errorSite, webSqlErrorCode, sqliteErrorCode);
}
}
if (Platform::current()->databaseObserver()) {
Platform::current()->databaseObserver()->reportCommitTransactionResult(
createDatabaseIdentifierFromSecurityOrigin(securityOrigin()),
- stringIdentifier(), false,
- errorSite, webSqlErrorCode, sqliteErrorCode);
+ stringIdentifier(), errorSite, webSqlErrorCode, sqliteErrorCode);
}
}
if (Platform::current()->databaseObserver()) {
Platform::current()->databaseObserver()->reportExecuteStatementResult(
createDatabaseIdentifierFromSecurityOrigin(securityOrigin()),
- stringIdentifier(), false,
- errorSite, webSqlErrorCode, sqliteErrorCode);
+ stringIdentifier(), errorSite, webSqlErrorCode, sqliteErrorCode);
}
}
if (Platform::current()->databaseObserver()) {
Platform::current()->databaseObserver()->reportVacuumDatabaseResult(
createDatabaseIdentifierFromSecurityOrigin(securityOrigin()),
- stringIdentifier(), false, sqliteErrorCode);
+ stringIdentifier(), sqliteErrorCode);
}
}
static void callTransactionErrorCallback(ExecutionContext*, SQLTransactionErrorCallback* callback, PassOwnPtr<SQLErrorData> errorData)
{
- RefPtrWillBeRawPtr<SQLError> error = SQLError::create(*errorData);
- callback->handleEvent(error.get());
+ callback->handleEvent(SQLError::create(*errorData));
}
void Database::runTransaction(
#if ENABLE(ASSERT)
SQLTransactionErrorCallback* originalErrorCallback = errorCallback;
#endif
- RefPtrWillBeRawPtr<SQLTransaction> transaction = SQLTransaction::create(this, callback, successCallback, errorCallback, readOnly);
- RefPtrWillBeRawPtr<SQLTransactionBackend> transactionBackend = runTransaction(transaction, readOnly, changeVersionData);
+ SQLTransaction* transaction = SQLTransaction::create(this, callback, successCallback, errorCallback, readOnly);
+ SQLTransactionBackend* transactionBackend = runTransaction(transaction, readOnly, changeVersionData);
if (!transactionBackend) {
SQLTransactionErrorCallback* callback = transaction->releaseErrorCallback();
ASSERT(callback == originalErrorCallback);
// This object is constructed in a database thread, and destructed in the
// context thread.
-class DeliverPendingCallbackTask FINAL : public ExecutionContextTask {
+class DeliverPendingCallbackTask final : public ExecutionContextTask {
public:
- static PassOwnPtr<DeliverPendingCallbackTask> create(PassRefPtrWillBeRawPtr<SQLTransaction> transaction)
+ static PassOwnPtr<DeliverPendingCallbackTask> create(SQLTransaction* transaction)
{
return adoptPtr(new DeliverPendingCallbackTask(transaction));
}
- virtual void performTask(ExecutionContext*) OVERRIDE
+ virtual void performTask(ExecutionContext*) override
{
m_transaction->performPendingCallback();
}
private:
- DeliverPendingCallbackTask(PassRefPtrWillBeRawPtr<SQLTransaction> transaction)
+ DeliverPendingCallbackTask(SQLTransaction* transaction)
: m_transaction(transaction)
{
}
- RefPtrWillBeCrossThreadPersistent<SQLTransaction> m_transaction;
+ CrossThreadPersistent<SQLTransaction> m_transaction;
};
void Database::scheduleTransactionCallback(SQLTransaction* transaction)