Index: Source/modules/indexeddb/IDBDatabaseBackendInterface.h |
diff --git a/Source/modules/indexeddb/IDBDatabaseBackendInterface.h b/Source/modules/indexeddb/IDBDatabaseBackendInterface.h |
index 8d53fb5d2bdf073c7a48ad74377c9fbf99b0c010..03d8267fb503dd41dffdb25fdea29268473966c1 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_MAP |
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; |
@@ -88,6 +90,8 @@ public: |
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 trace(Visitor*) const = 0; |
}; |
} // namespace WebCore |