Index: Source/modules/indexeddb/IDBDatabaseBackendInterface.h |
diff --git a/Source/modules/indexeddb/IDBDatabaseBackendInterface.h b/Source/modules/indexeddb/IDBDatabaseBackendInterface.h |
index 8d53fb5d2bdf073c7a48ad74377c9fbf99b0c010..9115f36ae17c1c4cc4a458daeb244a90c247401b 100644 |
--- a/Source/modules/indexeddb/IDBDatabaseBackendInterface.h |
+++ b/Source/modules/indexeddb/IDBDatabaseBackendInterface.h |
@@ -26,6 +26,7 @@ |
#ifndef IDBDatabaseBackendInterface_h |
#define IDBDatabaseBackendInterface_h |
+#include "heap/Handle.h" |
#include "modules/indexeddb/IDBDatabaseError.h" |
#include "modules/indexeddb/IndexedDB.h" |
#include "wtf/PassRefPtr.h" |
@@ -47,14 +48,15 @@ typedef int ExceptionCode; |
// This is implemented by IDBDatabaseBackendImpl and optionally others (in order to proxy |
// calls across process barriers). All calls to these classes should be non-blocking and |
// trigger work on a background thread if necessary. |
-class IDBDatabaseBackendInterface : public RefCounted<IDBDatabaseBackendInterface> { |
+class IDBDatabaseBackendInterface : public HeapAllocatedFinalized<IDBDatabaseBackendInterface> { |
+ DECLARE_GC_INFO |
public: |
virtual ~IDBDatabaseBackendInterface() { } |
virtual void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath&, bool autoIncrement) = 0; |
virtual void deleteObjectStore(int64_t transactionId, int64_t objectStoreId) = 0; |
- virtual void createTransaction(int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks>, const Vector<int64_t>& objectStoreIds, unsigned short mode) = 0; |
- virtual void close(PassRefPtr<IDBDatabaseCallbacks>) = 0; |
+ virtual void createTransaction(int64_t transactionId, IDBDatabaseCallbacks*, const Vector<int64_t>& objectStoreIds, unsigned short mode) = 0; |
+ virtual void close(IDBDatabaseCallbacks*) = 0; |
// Transaction-specific operations. |
virtual void commit(int64_t transactionId) = 0; |
@@ -79,15 +81,17 @@ public: |
typedef Vector<RefPtr<IDBKey> > IndexKeys; |
- virtual void get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, bool keyOnly, PassRefPtr<IDBCallbacks>) = 0; |
+ virtual void get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, bool keyOnly, IDBCallbacks*) = 0; |
// Note that 'value' may be consumed/adopted by this call. |
- virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey>, PutMode, PassRefPtr<IDBCallbacks>, const Vector<int64_t>& indexIds, const Vector<IndexKeys>&) = 0; |
+ virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey>, PutMode, IDBCallbacks*, const Vector<int64_t>& indexIds, const Vector<IndexKeys>&) = 0; |
virtual void setIndexKeys(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKey> prpPrimaryKey, const Vector<int64_t>& indexIds, const Vector<IndexKeys>&) = 0; |
virtual void setIndexesReady(int64_t transactionId, int64_t objectStoreId, const Vector<int64_t>& indexIds) = 0; |
- virtual void openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, IndexedDB::CursorDirection, bool keyOnly, TaskType, PassRefPtr<IDBCallbacks>) = 0; |
- virtual void count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, PassRefPtr<IDBCallbacks>) = 0; |
- virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKeyRange>, PassRefPtr<IDBCallbacks>) = 0; |
- virtual void clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBCallbacks>) = 0; |
+ virtual void openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, IndexedDB::CursorDirection, bool keyOnly, TaskType, IDBCallbacks*) = 0; |
+ virtual void count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, IDBCallbacks*) = 0; |
+ virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKeyRange>, IDBCallbacks*) = 0; |
+ virtual void clear(int64_t transactionId, int64_t objectStoreId, IDBCallbacks*) = 0; |
+ |
+ virtual void trace(Visitor*) = 0; |
}; |
} // namespace WebCore |