Index: content/common/indexed_db/indexed_db_dispatcher.cc |
diff --git a/content/common/indexed_db/indexed_db_dispatcher.cc b/content/common/indexed_db/indexed_db_dispatcher.cc |
index 8981c2c9a45462ffd18b45f92715394062c1e047..c904db56cc3be536253d70c7dcb7308a17171b39 100644 |
--- a/content/common/indexed_db/indexed_db_dispatcher.cc |
+++ b/content/common/indexed_db/indexed_db_dispatcher.cc |
@@ -198,6 +198,7 @@ void IndexedDBDispatcher::RequestIDBCursorDelete( |
pending_callbacks_.Remove(response_id); |
} |
+// TODO(jsbell): Remove this overload once WK90411 rolls. |
void IndexedDBDispatcher::RequestIDBFactoryOpen( |
const string16& name, |
int64 version, |
@@ -214,6 +215,34 @@ void IndexedDBDispatcher::RequestIDBFactoryOpen( |
IndexedDBHostMsg_FactoryOpen_Params params; |
params.thread_id = CurrentWorkerId(); |
params.response_id = pending_callbacks_.Add(callbacks.release()); |
+ params.database_response_id = 0; // Unused in this message. |
+ params.origin = origin; |
+ params.name = name; |
+ params.version = version; |
+ Send(new IndexedDBHostMsg_FactoryOpenLegacy(params)); |
+} |
+ |
+void IndexedDBDispatcher::RequestIDBFactoryOpen( |
+ const string16& name, |
+ int64 version, |
+ WebIDBCallbacks* callbacks_ptr, |
+ WebIDBDatabaseCallbacks* database_callbacks_ptr, |
+ const string16& origin, |
+ WebFrame* web_frame) { |
+ ResetCursorPrefetchCaches(); |
+ scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); |
+ scoped_ptr<WebIDBDatabaseCallbacks> |
+ database_callbacks(database_callbacks_ptr); |
+ |
+ if (!CurrentWorkerId() && |
+ !ChildThread::current()->IsWebFrameValid(web_frame)) |
+ return; |
+ |
+ IndexedDBHostMsg_FactoryOpen_Params params; |
+ params.thread_id = CurrentWorkerId(); |
+ params.response_id = pending_callbacks_.Add(callbacks.release()); |
+ params.database_response_id = pending_database_callbacks_.Add( |
+ database_callbacks.release()); |
params.origin = origin; |
params.name = name; |
params.version = version; |
@@ -267,9 +296,10 @@ void IndexedDBDispatcher::RequestIDBDatabaseClose(int32 idb_database_id) { |
pending_database_callbacks_.Remove(idb_database_id); |
} |
+// TODO(jsbell): Remove once WK90411 has rolled. |
void IndexedDBDispatcher::RequestIDBDatabaseOpen( |
- WebIDBDatabaseCallbacks* callbacks_ptr, |
- int32 idb_database_id) { |
+ WebIDBDatabaseCallbacks* callbacks_ptr, |
+ int32 idb_database_id) { |
ResetCursorPrefetchCaches(); |
scoped_ptr<WebIDBDatabaseCallbacks> callbacks(callbacks_ptr); |