Index: Source/modules/webdatabase/SQLTransaction.cpp |
diff --git a/Source/modules/webdatabase/SQLTransaction.cpp b/Source/modules/webdatabase/SQLTransaction.cpp |
index 3a978a8e05ccf6d977d582e7188e5ae711dfd6fd..bff86a07f346b5bad0d30b7f52c1f4276cec39e0 100644 |
--- a/Source/modules/webdatabase/SQLTransaction.cpp |
+++ b/Source/modules/webdatabase/SQLTransaction.cpp |
@@ -48,15 +48,15 @@ |
namespace WebCore { |
-PassRefPtr<SQLTransaction> SQLTransaction::create(Database* db, PassRefPtr<SQLTransactionCallback> callback, |
- PassRefPtr<SQLVoidCallback> successCallback, PassRefPtr<SQLTransactionErrorCallback> errorCallback, |
+PassRefPtr<SQLTransaction> SQLTransaction::create(Database* db, PassOwnPtr<SQLTransactionCallback> callback, |
+ PassOwnPtr<SQLVoidCallback> successCallback, PassOwnPtr<SQLTransactionErrorCallback> errorCallback, |
bool readOnly) |
{ |
return adoptRef(new SQLTransaction(db, callback, successCallback, errorCallback, readOnly)); |
} |
-SQLTransaction::SQLTransaction(Database* db, PassRefPtr<SQLTransactionCallback> callback, |
- PassRefPtr<SQLVoidCallback> successCallback, PassRefPtr<SQLTransactionErrorCallback> errorCallback, |
+SQLTransaction::SQLTransaction(Database* db, PassOwnPtr<SQLTransactionCallback> callback, |
+ PassOwnPtr<SQLVoidCallback> successCallback, PassOwnPtr<SQLTransactionErrorCallback> errorCallback, |
bool readOnly) |
: m_database(db) |
, m_callbackWrapper(callback, db->executionContext()) |
@@ -140,7 +140,7 @@ SQLTransactionState SQLTransaction::deliverTransactionCallback() |
bool shouldDeliverErrorCallback = false; |
// Spec 4.3.2 4: Invoke the transaction callback with the new SQLTransaction object |
- RefPtr<SQLTransactionCallback> callback = m_callbackWrapper.unwrap(); |
+ OwnPtr<SQLTransactionCallback> callback = m_callbackWrapper.unwrap(); |
if (callback) { |
m_executeSqlAllowed = true; |
shouldDeliverErrorCallback = !callback->handleEvent(this); |
@@ -162,7 +162,7 @@ SQLTransactionState SQLTransaction::deliverTransactionErrorCallback() |
{ |
// Spec 4.3.2.10: If exists, invoke error callback with the last |
// error to have occurred in this transaction. |
- RefPtr<SQLTransactionErrorCallback> errorCallback = m_errorCallbackWrapper.unwrap(); |
+ OwnPtr<SQLTransactionErrorCallback> errorCallback = m_errorCallbackWrapper.unwrap(); |
if (errorCallback) { |
// If we get here with an empty m_transactionError, then the backend |
// must be waiting in the idle state waiting for this state to finish. |
@@ -218,7 +218,7 @@ SQLTransactionState SQLTransaction::deliverQuotaIncreaseCallback() |
SQLTransactionState SQLTransaction::deliverSuccessCallback() |
{ |
// Spec 4.3.2.8: Deliver success callback. |
- RefPtr<SQLVoidCallback> successCallback = m_successCallbackWrapper.unwrap(); |
+ OwnPtr<SQLVoidCallback> successCallback = m_successCallbackWrapper.unwrap(); |
if (successCallback) |
successCallback->handleEvent(); |
@@ -251,7 +251,7 @@ void SQLTransaction::performPendingCallback() |
runStateMachine(); |
} |
-void SQLTransaction::executeSQL(const String& sqlStatement, const Vector<SQLValue>& arguments, PassRefPtr<SQLStatementCallback> callback, PassRefPtr<SQLStatementErrorCallback> callbackError, ExceptionState& exceptionState) |
+void SQLTransaction::executeSQL(const String& sqlStatement, const Vector<SQLValue>& arguments, PassOwnPtr<SQLStatementCallback> callback, PassOwnPtr<SQLStatementErrorCallback> callbackError, ExceptionState& exceptionState) |
{ |
if (!m_executeSqlAllowed || !m_database->opened()) { |
exceptionState.throwUninformativeAndGenericDOMException(InvalidStateError); |
@@ -299,4 +299,9 @@ void SQLTransaction::clearCallbackWrappers() |
m_errorCallbackWrapper.clear(); |
} |
+PassOwnPtr<SQLTransactionErrorCallback> SQLTransaction::releaseErrorCallback() |
+{ |
+ return m_errorCallbackWrapper.unwrap(); |
+} |
+ |
} // namespace WebCore |