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 de54ae1db004d29829e148fa4de626c52b9573d3..7ce6cffdbc15fd858c8be32a819a69e252245af1 100644 |
--- a/content/browser/indexed_db/indexed_db_dispatcher_host.h |
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.h |
@@ -116,6 +116,8 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter { |
const IndexedDBHostMsg_FactoryDeleteDatabase_Params& p); |
void OnAckReceivedBlobs(const std::vector<std::string>& uuids); |
+ void OnPutHelper(const IndexedDBHostMsg_DatabasePut_Params& params, |
+ std::vector<webkit_blob::BlobDataHandle*> handles); |
void ResetDispatcherHosts(); |
@@ -187,7 +189,11 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter { |
void OnDestroyed(int32 ipc_database_id); |
void OnGet(const IndexedDBHostMsg_DatabaseGet_Params& params); |
- void OnPut(const IndexedDBHostMsg_DatabasePut_Params& params); |
+ // OnPutWrapper starts on the IO thread so that it can grab BlobDataHandles |
+ // before posting to the IDB TaskRunner for the rest of the job. |
+ void OnPutWrapper(const IndexedDBHostMsg_DatabasePut_Params& params); |
+ void OnPut(const IndexedDBHostMsg_DatabasePut_Params& params, |
+ std::vector<webkit_blob::BlobDataHandle*> handles); |
void OnSetIndexKeys( |
const IndexedDBHostMsg_DatabaseSetIndexKeys_Params& params); |
void OnSetIndexesReady(int32 ipc_database_id, |