| Index: Source/modules/indexeddb/IDBDatabaseBackendImpl.h
|
| diff --git a/Source/modules/indexeddb/IDBDatabaseBackendImpl.h b/Source/modules/indexeddb/IDBDatabaseBackendImpl.h
|
| index 7ce800721cf1ce5db1aa1fd5cb546d3536b544ff..c731f5b869c5d94264272fea979ac4f60c18d2a2 100644
|
| --- a/Source/modules/indexeddb/IDBDatabaseBackendImpl.h
|
| +++ b/Source/modules/indexeddb/IDBDatabaseBackendImpl.h
|
| @@ -43,7 +43,7 @@ class IDBTransactionCoordinator;
|
|
|
| class IDBDatabaseBackendImpl : public IDBDatabaseBackendInterface {
|
| public:
|
| - static PassRefPtr<IDBDatabaseBackendImpl> create(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
|
| + static IDBDatabaseBackendImpl* create(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
|
| virtual ~IDBDatabaseBackendImpl();
|
|
|
| PassRefPtr<IDBBackingStore> backingStore() const;
|
| @@ -55,15 +55,15 @@ public:
|
| void addIndex(int64_t objectStoreId, const IDBIndexMetadata&, int64_t newMaxIndexId);
|
| void removeIndex(int64_t objectStoreId, int64_t indexId);
|
|
|
| - void openConnection(PassRefPtr<IDBCallbacks>, PassRefPtr<IDBDatabaseCallbacks>, int64_t transactionId, int64_t version);
|
| + void openConnection(PassRefPtr<IDBCallbacks>, IDBDatabaseCallbacks*, int64_t transactionId, int64_t version);
|
| void deleteDatabase(PassRefPtr<IDBCallbacks>);
|
| const IDBDatabaseMetadata& metadata() const { return m_metadata; }
|
|
|
| // IDBDatabaseBackendInterface
|
| virtual void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath&, bool autoIncrement);
|
| virtual void deleteObjectStore(int64_t transactionId, int64_t objectStoreId);
|
| - virtual void createTransaction(int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks>, const Vector<int64_t>& objectStoreIds, unsigned short mode);
|
| - virtual void close(PassRefPtr<IDBDatabaseCallbacks>);
|
| + virtual void createTransaction(int64_t transactionId, IDBDatabaseCallbacks*, const Vector<int64_t>& objectStoreIds, unsigned short mode);
|
| + virtual void close(IDBDatabaseCallbacks*);
|
|
|
| virtual void commit(int64_t transactionId);
|
| virtual void abort(int64_t transactionId);
|
| @@ -87,11 +87,13 @@ public:
|
| virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKeyRange>, PassRefPtr<IDBCallbacks>) OVERRIDE;
|
| virtual void clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBCallbacks>) OVERRIDE;
|
|
|
| + virtual void trace(Visitor*) const;
|
| +
|
| private:
|
| IDBDatabaseBackendImpl(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
|
|
|
| bool openInternal();
|
| - void runIntVersionChangeTransaction(PassRefPtr<IDBCallbacks>, PassRefPtr<IDBDatabaseCallbacks>, int64_t transactionId, int64_t requestedVersion);
|
| + void runIntVersionChangeTransaction(PassRefPtr<IDBCallbacks>, IDBDatabaseCallbacks*, int64_t transactionId, int64_t requestedVersion);
|
| size_t connectionCount();
|
| void processPendingCalls();
|
|
|
| @@ -108,8 +110,7 @@ private:
|
|
|
| String m_identifier;
|
| // This might not need to be a RefPtr since the factory's lifetime is that of the page group, but it's better to be conservitive than sorry.
|
| - // FIXME(oilpan): Move IDBDatabaseBackendInterface to the heap and use a Member.
|
| - Persistent<IDBFactoryBackendImpl> m_factory;
|
| + Member<IDBFactoryBackendImpl> m_factory;
|
|
|
| OwnPtr<IDBTransactionCoordinator> m_transactionCoordinator;
|
| RefPtr<IDBTransactionBackendImpl> m_runningVersionChangeTransaction;
|
| @@ -124,7 +125,7 @@ private:
|
| class PendingDeleteCall;
|
| Deque<OwnPtr<PendingDeleteCall> > m_pendingDeleteCalls;
|
|
|
| - typedef ListHashSet<RefPtr<IDBDatabaseCallbacks> > DatabaseCallbacksSet;
|
| + typedef ListHashSet<Member<IDBDatabaseCallbacks> > DatabaseCallbacksSet;
|
| DatabaseCallbacksSet m_databaseCallbacksSet;
|
|
|
| bool m_closingConnection;
|
|
|