| Index: content/browser/indexed_db/indexed_db_dispatcher_host.h
|
| diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.h b/content/browser/indexed_db/indexed_db_dispatcher_host.h
|
| index d59ba81a6f451832026b1a90fc064d23a7f501f3..5934c6f7dfc84b23617f37b0f2f0cd23f21e6f01 100644
|
| --- a/content/browser/indexed_db/indexed_db_dispatcher_host.h
|
| +++ b/content/browser/indexed_db/indexed_db_dispatcher_host.h
|
| @@ -18,6 +18,8 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "content/browser/blob_storage/chrome_blob_storage_context.h"
|
| +#include "content/common/indexed_db/indexed_db.mojom.h"
|
| +#include "content/public/browser/browser_associated_interface.h"
|
| #include "content/public/browser/browser_message_filter.h"
|
| #include "net/url_request/url_request_context_getter.h"
|
| #include "storage/browser/blob/blob_data_handle.h"
|
| @@ -49,9 +51,11 @@ class Origin;
|
|
|
| namespace content {
|
| class IndexedDBBlobInfo;
|
| +class IndexedDBCallbacks;
|
| class IndexedDBConnection;
|
| class IndexedDBContextImpl;
|
| class IndexedDBCursor;
|
| +class IndexedDBDatabaseCallbacks;
|
| class IndexedDBKey;
|
| class IndexedDBKeyPath;
|
| class IndexedDBKeyRange;
|
| @@ -60,7 +64,10 @@ class IndexedDBObserverChanges;
|
| struct IndexedDBDatabaseMetadata;
|
|
|
| // Handles all IndexedDB related messages from a particular renderer process.
|
| -class IndexedDBDispatcherHost : public BrowserMessageFilter {
|
| +class IndexedDBDispatcherHost
|
| + : public BrowserMessageFilter,
|
| + public BrowserAssociatedInterface<::indexed_db::mojom::Factory>,
|
| + public ::indexed_db::mojom::Factory {
|
| public:
|
| // Only call the constructor from the UI thread.
|
| IndexedDBDispatcherHost(int ipc_process_id,
|
| @@ -68,8 +75,6 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
|
| IndexedDBContextImpl* indexed_db_context,
|
| ChromeBlobStorageContext* blob_storage_context);
|
|
|
| - static ::IndexedDBDatabaseMetadata ConvertMetadata(
|
| - const content::IndexedDBDatabaseMetadata& metadata);
|
| static IndexedDBMsg_ObserverChanges ConvertObserverChanges(
|
| std::unique_ptr<IndexedDBObserverChanges> changes);
|
| static IndexedDBMsg_Observation ConvertObservation(
|
| @@ -94,7 +99,6 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
|
| // applicable map. See below for more details.
|
| int32_t Add(IndexedDBCursor* cursor);
|
| int32_t Add(IndexedDBConnection* connection,
|
| - int32_t ipc_thread_id,
|
| const url::Origin& origin);
|
|
|
| void RegisterTransactionId(int64_t host_transaction_id,
|
| @@ -291,15 +295,38 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
|
| template <typename MapType>
|
| void DestroyObject(MapType* map, int32_t ipc_object_id);
|
|
|
| + // indexed_db::mojom::Factory implementation:
|
| + void GetDatabaseNames(
|
| + ::indexed_db::mojom::CallbacksAssociatedPtrInfo callbacks_info,
|
| + const url::Origin& origin) override;
|
| + void Open(int32_t worker_thread,
|
| + ::indexed_db::mojom::CallbacksAssociatedPtrInfo callbacks_info,
|
| + ::indexed_db::mojom::DatabaseCallbacksAssociatedPtrInfo
|
| + database_callbacks_info,
|
| + const url::Origin& origin,
|
| + const base::string16& name,
|
| + int64_t version,
|
| + int64_t transaction_id) override;
|
| + void DeleteDatabase(
|
| + ::indexed_db::mojom::CallbacksAssociatedPtrInfo callbacks_info,
|
| + const url::Origin& origin,
|
| + const base::string16& name) override;
|
| +
|
| + void GetDatabaseNamesOnIDBThread(scoped_refptr<IndexedDBCallbacks> callbacks,
|
| + const url::Origin& origin);
|
| + void OpenOnIDBThread(
|
| + scoped_refptr<IndexedDBCallbacks> callbacks,
|
| + scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks,
|
| + const url::Origin& origin,
|
| + const base::string16& name,
|
| + int64_t version,
|
| + int64_t transaction_id);
|
| + void DeleteDatabaseOnIDBThread(scoped_refptr<IndexedDBCallbacks> callbacks,
|
| + const url::Origin& origin,
|
| + const base::string16& name);
|
| +
|
| // Message processing. Most of the work is delegated to the dispatcher hosts
|
| // below.
|
| - void OnIDBFactoryGetDatabaseNames(
|
| - const IndexedDBHostMsg_FactoryGetDatabaseNames_Params& p);
|
| - void OnIDBFactoryOpen(const IndexedDBHostMsg_FactoryOpen_Params& p);
|
| -
|
| - void OnIDBFactoryDeleteDatabase(
|
| - const IndexedDBHostMsg_FactoryDeleteDatabase_Params& p);
|
| -
|
| void OnAckReceivedBlobs(const std::vector<std::string>& uuids);
|
| void OnPutHelper(
|
| const IndexedDBHostMsg_DatabasePut_Params& params,
|
|
|