Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Unified Diff: content/browser/indexed_db/indexed_db_dispatcher_host.h

Issue 18023022: Blob support for IDB [Chromium] (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge fixes [builds, untested] Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698