| Index: Source/modules/indexeddb/IDBDatabaseBackendImpl.h
|
| diff --git a/Source/modules/indexeddb/IDBDatabaseBackendImpl.h b/Source/modules/indexeddb/IDBDatabaseBackendImpl.h
|
| index 7ce800721cf1ce5db1aa1fd5cb546d3536b544ff..daf0a2decf1c96d0449f1a44c8105270d9c775fa 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 deleteDatabase(PassRefPtr<IDBCallbacks>);
|
| + void openConnection(IDBCallbacks*, IDBDatabaseCallbacks*, int64_t transactionId, int64_t version);
|
| + void deleteDatabase(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);
|
| @@ -78,25 +78,27 @@ public:
|
| void transactionFinishedAndCompleteFired(PassRefPtr<IDBTransactionBackendImpl>);
|
| void transactionFinishedAndAbortFired(PassRefPtr<IDBTransactionBackendImpl>);
|
|
|
| - virtual void get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, bool keyOnly, PassRefPtr<IDBCallbacks>) OVERRIDE;
|
| - 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>&) OVERRIDE;
|
| + virtual void get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, bool keyOnly, IDBCallbacks*) OVERRIDE;
|
| + virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey>, PutMode, IDBCallbacks*, const Vector<int64_t>& indexIds, const Vector<IndexKeys>&) OVERRIDE;
|
| virtual void setIndexKeys(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKey> prpPrimaryKey, const Vector<int64_t>& indexIds, const Vector<IndexKeys>&) OVERRIDE;
|
| virtual void setIndexesReady(int64_t transactionId, int64_t objectStoreId, const Vector<int64_t>& indexIds) OVERRIDE;
|
| - virtual void openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, IndexedDB::CursorDirection, bool keyOnly, TaskType, PassRefPtr<IDBCallbacks>) OVERRIDE;
|
| - virtual void count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, PassRefPtr<IDBCallbacks>) OVERRIDE;
|
| - 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 openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, IndexedDB::CursorDirection, bool keyOnly, TaskType, IDBCallbacks*) OVERRIDE;
|
| + virtual void count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, IDBCallbacks*) OVERRIDE;
|
| + virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKeyRange>, IDBCallbacks*) OVERRIDE;
|
| + virtual void clear(int64_t transactionId, int64_t objectStoreId, IDBCallbacks*) OVERRIDE;
|
| +
|
| + virtual void trace(Visitor*);
|
|
|
| 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(IDBCallbacks*, IDBDatabaseCallbacks*, int64_t transactionId, int64_t requestedVersion);
|
| size_t connectionCount();
|
| void processPendingCalls();
|
|
|
| bool isDeleteDatabaseBlocked();
|
| - void deleteDatabaseFinal(PassRefPtr<IDBCallbacks>);
|
| + void deleteDatabaseFinal(IDBCallbacks*);
|
|
|
| class VersionChangeOperation;
|
|
|
| @@ -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;
|
|
|