Index: Source/modules/webdatabase/SQLTransactionBackend.cpp |
diff --git a/Source/modules/webdatabase/SQLTransactionBackend.cpp b/Source/modules/webdatabase/SQLTransactionBackend.cpp |
index 8f378c94254a2c3615bee88b82b14449abc984b2..0daab89995d154dd9f12feab987083b644029067 100644 |
--- a/Source/modules/webdatabase/SQLTransactionBackend.cpp |
+++ b/Source/modules/webdatabase/SQLTransactionBackend.cpp |
@@ -373,7 +373,9 @@ SQLTransactionBackend::~SQLTransactionBackend() |
void SQLTransactionBackend::trace(Visitor* visitor) |
{ |
visitor->trace(m_frontend); |
+ visitor->trace(m_currentStatementBackend); |
visitor->trace(m_database); |
+ visitor->trace(m_statementQueue); |
} |
void SQLTransactionBackend::doCleanup() |
@@ -466,7 +468,7 @@ SQLTransactionBackend::StateFunction SQLTransactionBackend::stateFunctionFor(SQL |
return stateFunctions[static_cast<int>(state)]; |
} |
-void SQLTransactionBackend::enqueueStatementBackend(PassRefPtr<SQLStatementBackend> statementBackend) |
+void SQLTransactionBackend::enqueueStatementBackend(PassRefPtrWillBeRawPtr<SQLStatementBackend> statementBackend) |
{ |
MutexLocker locker(m_statementMutex); |
m_statementQueue.append(statementBackend); |
@@ -521,9 +523,7 @@ void SQLTransactionBackend::performNextStep() |
void SQLTransactionBackend::executeSQL(PassOwnPtr<AbstractSQLStatement> statement, |
const String& sqlStatement, const Vector<SQLValue>& arguments, int permissions) |
{ |
- RefPtr<SQLStatementBackend> statementBackend; |
- statementBackend = SQLStatementBackend::create(statement, sqlStatement, arguments, permissions); |
- enqueueStatementBackend(statementBackend); |
+ enqueueStatementBackend(SQLStatementBackend::create(statement, sqlStatement, arguments, permissions)); |
} |
void SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown() |