| Index: Source/modules/webdatabase/Database.cpp | 
| diff --git a/Source/modules/webdatabase/Database.cpp b/Source/modules/webdatabase/Database.cpp | 
| index 2a55f3d859969c521302c469d57264f3ce0cfe0f..e96dc8cc48e6da8c81aecdfee8a8b2dd4db0ffbc 100644 | 
| --- a/Source/modules/webdatabase/Database.cpp | 
| +++ b/Source/modules/webdatabase/Database.cpp | 
| @@ -143,7 +143,7 @@ void Database::runTransaction(PassOwnPtr<SQLTransactionCallback> callback, PassO | 
| #if !ASSERT_DISABLED | 
| SQLTransactionErrorCallback* originalErrorCallback = errorCallback.get(); | 
| #endif | 
| -    RefPtr<SQLTransaction> transaction = SQLTransaction::create(this, callback, successCallback, errorCallback, readOnly); | 
| +    RefPtrWillBeRawPtr<SQLTransaction> transaction = SQLTransaction::create(this, callback, successCallback, errorCallback, readOnly); | 
| RefPtr<SQLTransactionBackend> transactionBackend = backend()->runTransaction(transaction, readOnly, changeVersionData); | 
| if (!transactionBackend) { | 
| OwnPtr<SQLTransactionErrorCallback> callback = transaction->releaseErrorCallback(); | 
| @@ -155,9 +155,11 @@ void Database::runTransaction(PassOwnPtr<SQLTransactionCallback> callback, PassO | 
| } | 
| } | 
|  | 
| +// This object is constructed in a database thread, and destructed in the | 
| +// context thread. | 
| class DeliverPendingCallbackTask FINAL : public ExecutionContextTask { | 
| public: | 
| -    static PassOwnPtr<DeliverPendingCallbackTask> create(PassRefPtr<SQLTransaction> transaction) | 
| +    static PassOwnPtr<DeliverPendingCallbackTask> create(PassRefPtrWillBeRawPtr<SQLTransaction> transaction) | 
| { | 
| return adoptPtr(new DeliverPendingCallbackTask(transaction)); | 
| } | 
| @@ -168,12 +170,12 @@ public: | 
| } | 
|  | 
| private: | 
| -    DeliverPendingCallbackTask(PassRefPtr<SQLTransaction> transaction) | 
| +    DeliverPendingCallbackTask(PassRefPtrWillBeRawPtr<SQLTransaction> transaction) | 
| : m_transaction(transaction) | 
| { | 
| } | 
|  | 
| -    RefPtr<SQLTransaction> m_transaction; | 
| +    RefPtrWillBeCrossThreadPersistent<SQLTransaction> m_transaction; | 
| }; | 
|  | 
| void Database::scheduleTransactionCallback(SQLTransaction* transaction) | 
|  |