Index: Source/modules/indexeddb/IDBCursorBackendImpl.cpp |
diff --git a/Source/modules/indexeddb/IDBCursorBackendImpl.cpp b/Source/modules/indexeddb/IDBCursorBackendImpl.cpp |
index 21e6430357580b95edf23f818376da962ac44f13..d2a6bbd68536591c4e3ae14291dce3b7d01baebb 100644 |
--- a/Source/modules/indexeddb/IDBCursorBackendImpl.cpp |
+++ b/Source/modules/indexeddb/IDBCursorBackendImpl.cpp |
@@ -40,13 +40,13 @@ namespace WebCore { |
class IDBCursorBackendImpl::CursorIterationOperation : public IDBTransactionBackendImpl::Operation { |
public: |
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks) |
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, PassRefPtr<IDBKey> key, IDBCallbacks* callbacks) |
{ |
return adoptPtr(new CursorIterationOperation(cursor, key, callbacks)); |
} |
virtual void perform(IDBTransactionBackendImpl*); |
private: |
- CursorIterationOperation(PassRefPtr<IDBCursorBackendImpl> cursor, PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks) |
+ CursorIterationOperation(PassRefPtr<IDBCursorBackendImpl> cursor, PassRefPtr<IDBKey> key, IDBCallbacks* callbacks) |
: m_cursor(cursor) |
, m_key(key) |
, m_callbacks(callbacks) |
@@ -55,18 +55,18 @@ private: |
RefPtr<IDBCursorBackendImpl> m_cursor; |
RefPtr<IDBKey> m_key; |
- RefPtr<IDBCallbacks> m_callbacks; |
+ Persistent<IDBCallbacks> m_callbacks; |
}; |
class IDBCursorBackendImpl::CursorAdvanceOperation : public IDBTransactionBackendImpl::Operation { |
public: |
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, unsigned long count, PassRefPtr<IDBCallbacks> callbacks) |
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, unsigned long count, IDBCallbacks* callbacks) |
{ |
return adoptPtr(new CursorAdvanceOperation(cursor, count, callbacks)); |
} |
virtual void perform(IDBTransactionBackendImpl*); |
private: |
- CursorAdvanceOperation(PassRefPtr<IDBCursorBackendImpl> cursor, unsigned long count, PassRefPtr<IDBCallbacks> callbacks) |
+ CursorAdvanceOperation(PassRefPtr<IDBCursorBackendImpl> cursor, unsigned long count, IDBCallbacks* callbacks) |
: m_cursor(cursor) |
, m_count(count) |
, m_callbacks(callbacks) |
@@ -75,18 +75,18 @@ private: |
RefPtr<IDBCursorBackendImpl> m_cursor; |
unsigned long m_count; |
- RefPtr<IDBCallbacks> m_callbacks; |
+ Persistent<IDBCallbacks> m_callbacks; |
}; |
class IDBCursorBackendImpl::CursorPrefetchIterationOperation : public IDBTransactionBackendImpl::Operation { |
public: |
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks) |
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, int numberToFetch, IDBCallbacks* callbacks) |
{ |
return adoptPtr(new CursorPrefetchIterationOperation(cursor, numberToFetch, callbacks)); |
} |
virtual void perform(IDBTransactionBackendImpl*); |
private: |
- CursorPrefetchIterationOperation(PassRefPtr<IDBCursorBackendImpl> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks) |
+ CursorPrefetchIterationOperation(PassRefPtr<IDBCursorBackendImpl> cursor, int numberToFetch, IDBCallbacks* callbacks) |
: m_cursor(cursor) |
, m_numberToFetch(numberToFetch) |
, m_callbacks(callbacks) |
@@ -95,7 +95,7 @@ private: |
RefPtr<IDBCursorBackendImpl> m_cursor; |
int m_numberToFetch; |
- RefPtr<IDBCallbacks> m_callbacks; |
+ Persistent<IDBCallbacks> m_callbacks; |
}; |
IDBCursorBackendImpl::IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId) |
@@ -116,17 +116,15 @@ IDBCursorBackendImpl::~IDBCursorBackendImpl() |
} |
-void IDBCursorBackendImpl::continueFunction(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> prpCallbacks) |
+void IDBCursorBackendImpl::continueFunction(PassRefPtr<IDBKey> key, IDBCallbacks* callbacks) |
{ |
IDB_TRACE("IDBCursorBackendImpl::continue"); |
- RefPtr<IDBCallbacks> callbacks = prpCallbacks; |
m_transaction->scheduleTask(m_taskType, CursorIterationOperation::create(this, key, callbacks)); |
} |
-void IDBCursorBackendImpl::advance(unsigned long count, PassRefPtr<IDBCallbacks> prpCallbacks) |
+void IDBCursorBackendImpl::advance(unsigned long count, IDBCallbacks* callbacks) |
{ |
IDB_TRACE("IDBCursorBackendImpl::advance"); |
- RefPtr<IDBCallbacks> callbacks = prpCallbacks; |
m_transaction->scheduleTask(CursorAdvanceOperation::create(this, count, callbacks)); |
} |
@@ -154,18 +152,17 @@ void IDBCursorBackendImpl::CursorIterationOperation::perform(IDBTransactionBacke |
m_callbacks->onSuccess(m_cursor->key(), m_cursor->primaryKey(), m_cursor->value()); |
} |
-void IDBCursorBackendImpl::deleteFunction(PassRefPtr<IDBCallbacks> prpCallbacks) |
+void IDBCursorBackendImpl::deleteFunction(IDBCallbacks* callbacks) |
{ |
IDB_TRACE("IDBCursorBackendImpl::delete"); |
ASSERT(m_transaction->mode() != IndexedDB::TransactionReadOnly); |
RefPtr<IDBKeyRange> keyRange = IDBKeyRange::create(m_cursor->primaryKey()); |
- m_database->deleteRange(m_transaction->id(), m_objectStoreId, keyRange.release(), prpCallbacks); |
+ m_database->deleteRange(m_transaction->id(), m_objectStoreId, keyRange.release(), callbacks); |
} |
-void IDBCursorBackendImpl::prefetchContinue(int numberToFetch, PassRefPtr<IDBCallbacks> prpCallbacks) |
+void IDBCursorBackendImpl::prefetchContinue(int numberToFetch, IDBCallbacks* callbacks) |
{ |
IDB_TRACE("IDBCursorBackendImpl::prefetchContinue"); |
- RefPtr<IDBCallbacks> callbacks = prpCallbacks; |
m_transaction->scheduleTask(m_taskType, CursorPrefetchIterationOperation::create(this, numberToFetch, callbacks)); |
} |