| 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 e254cadf486460cd2ba7deae897106dabd1c6a94..c963b8b1722d29f27983f919c18513a56f0604b8 100644
|
| --- a/content/browser/indexed_db/indexed_db_dispatcher_host.h
|
| +++ b/content/browser/indexed_db/indexed_db_dispatcher_host.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/id_map.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "content/public/browser/browser_message_filter.h"
|
| +#include "net/url_request/url_request_context_getter.h"
|
| #include "url/gurl.h"
|
|
|
| struct IndexedDBDatabaseMetadata;
|
| @@ -29,6 +30,7 @@ struct IndexedDBHostMsg_FactoryGetDatabaseNames_Params;
|
| struct IndexedDBHostMsg_FactoryOpen_Params;
|
|
|
| namespace content {
|
| +class FileAPIMessageFilter;
|
| class IndexedDBConnection;
|
| class IndexedDBContextImpl;
|
| class IndexedDBCursor;
|
| @@ -42,12 +44,19 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
|
| public:
|
| // Only call the constructor from the UI thread.
|
| IndexedDBDispatcherHost(int ipc_process_id,
|
| - IndexedDBContextImpl* indexed_db_context);
|
| + net::URLRequestContextGetter* request_context_getter,
|
| + IndexedDBContextImpl* indexed_db_context,
|
| + FileAPIMessageFilter* file_api_message_filter);
|
| + IndexedDBDispatcherHost(int ipc_process_id,
|
| + net::URLRequestContext* request_context,
|
| + IndexedDBContextImpl* indexed_db_context,
|
| + FileAPIMessageFilter* file_api_message_filter);
|
|
|
| static ::IndexedDBDatabaseMetadata ConvertMetadata(
|
| const content::IndexedDBDatabaseMetadata& metadata);
|
|
|
| // BrowserMessageFilter implementation.
|
| + virtual void OnChannelConnected(int32 peer_pid) OVERRIDE;
|
| virtual void OnChannelClosing() OVERRIDE;
|
| virtual void OnDestruct() const OVERRIDE;
|
| virtual base::TaskRunner* OverrideTaskRunnerForMessage(
|
| @@ -59,6 +68,9 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
|
|
|
| // A shortcut for accessing our context.
|
| IndexedDBContextImpl* Context() { return indexed_db_context_; }
|
| + FileAPIMessageFilter* file_api_message_filter() {
|
| + return file_api_message_filter_;
|
| + }
|
|
|
| // IndexedDBCallbacks call these methods to add the results into the
|
| // applicable map. See below for more details.
|
| @@ -226,7 +238,12 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
|
| RefIDMap<IndexedDBCursor> map_;
|
| };
|
|
|
| + // The getter holds the context until OnChannelConnected() can be called from
|
| + // the IO thread, which will extract the net::URLRequestContext from it.
|
| + scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
|
| + net::URLRequestContext* request_context_;
|
| scoped_refptr<IndexedDBContextImpl> indexed_db_context_;
|
| + FileAPIMessageFilter* file_api_message_filter_;
|
|
|
| // Only access on IndexedDB thread.
|
| scoped_ptr<DatabaseDispatcherHost> database_dispatcher_host_;
|
|
|