| Index: content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| diff --git a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| index 8a7f6228fc9f14987674c5a5fe531559031a2a95..21fe1eaceada3df2ed0b0c6c7c2dcf994e93c74d 100644
|
| --- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| +++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| @@ -149,6 +149,7 @@ int32 IndexedDBDispatcherHost::Add(WebIDBCursor* idb_cursor) {
|
| }
|
|
|
| int32 IndexedDBDispatcherHost::Add(WebIDBDatabase* idb_database,
|
| + int32 thread_id,
|
| const GURL& origin_url) {
|
| if (!database_dispatcher_host_.get()) {
|
| delete idb_database;
|
| @@ -181,13 +182,15 @@ int32 IndexedDBDispatcherHost::Add(WebIDBObjectStore* idb_object_store) {
|
| }
|
|
|
| int32 IndexedDBDispatcherHost::Add(WebIDBTransaction* idb_transaction,
|
| + int32 thread_id,
|
| const GURL& url) {
|
| if (!transaction_dispatcher_host_.get()) {
|
| delete idb_transaction;
|
| return 0;
|
| }
|
| int32 id = transaction_dispatcher_host_->map_.Add(idb_transaction);
|
| - idb_transaction->setCallbacks(new IndexedDBTransactionCallbacks(this, id));
|
| + idb_transaction->setCallbacks(
|
| + new IndexedDBTransactionCallbacks(this, thread_id, id));
|
| transaction_dispatcher_host_->transaction_url_map_[id] = url;
|
| return id;
|
| }
|
| @@ -218,8 +221,9 @@ void IndexedDBDispatcherHost::OnIDBFactoryGetDatabaseNames(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT));
|
|
|
| Context()->GetIDBFactory()->getDatabaseNames(
|
| - new IndexedDBCallbacks<WebDOMStringList>(this, params.response_id),
|
| - origin, NULL, webkit_glue::FilePathToWebString(indexed_db_path));
|
| + new IndexedDBCallbacks<WebDOMStringList>(this, params.thread_id,
|
| + params.response_id), origin, NULL,
|
| + webkit_glue::FilePathToWebString(indexed_db_path));
|
| }
|
|
|
| void IndexedDBDispatcherHost::OnIDBFactoryOpen(
|
| @@ -246,8 +250,8 @@ void IndexedDBDispatcherHost::OnIDBFactoryOpen(
|
| // created) if this origin is already over quota.
|
| Context()->GetIDBFactory()->open(
|
| params.name,
|
| - new IndexedDBCallbacks<WebIDBDatabase>(this, params.response_id,
|
| - origin_url),
|
| + new IndexedDBCallbacks<WebIDBDatabase>(this, params.thread_id,
|
| + params.response_id, origin_url),
|
| origin, NULL, webkit_glue::FilePathToWebString(indexed_db_path));
|
| }
|
|
|
| @@ -264,6 +268,7 @@ void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase(
|
| Context()->GetIDBFactory()->deleteDatabase(
|
| params.name,
|
| new IndexedDBCallbacks<WebSerializedScriptValue>(this,
|
| + params.thread_id,
|
| params.response_id),
|
| WebSecurityOrigin::createFromDatabaseIdentifier(params.origin), NULL,
|
| webkit_glue::FilePathToWebString(indexed_db_path));
|
| @@ -419,6 +424,7 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDeleteObjectStore(
|
|
|
| void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnSetVersion(
|
| int32 idb_database_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| const string16& version,
|
| WebKit::WebExceptionCode* ec) {
|
| @@ -431,12 +437,13 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnSetVersion(
|
| *ec = 0;
|
| idb_database->setVersion(
|
| version,
|
| - new IndexedDBCallbacks<WebIDBTransaction>(parent_, response_id,
|
| + new IndexedDBCallbacks<WebIDBTransaction>(parent_, thread_id, response_id,
|
| database_url_map_[idb_database_id]),
|
| *ec);
|
| }
|
|
|
| void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnTransaction(
|
| + int32 thread_id,
|
| int32 idb_database_id,
|
| const std::vector<string16>& names,
|
| int32 mode,
|
| @@ -458,16 +465,18 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnTransaction(
|
| object_stores, mode, *ec);
|
| DCHECK(!transaction != !*ec);
|
| *idb_transaction_id =
|
| - *ec ? 0 : parent_->Add(transaction, database_url_map_[idb_database_id]);
|
| + *ec ? 0 : parent_->Add(transaction, thread_id,
|
| + database_url_map_[idb_database_id]);
|
| }
|
|
|
| void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnOpen(
|
| - int32 idb_database_id, int32 response_id) {
|
| + int32 idb_database_id, int32 thread_id, int32 response_id) {
|
| WebIDBDatabase* database = parent_->GetOrTerminateProcess(
|
| &map_, idb_database_id);
|
| if (!database)
|
| return;
|
| - database->open(new IndexedDBDatabaseCallbacks(parent_, response_id));
|
| + database->open(new IndexedDBDatabaseCallbacks(parent_, thread_id,
|
| + response_id));
|
| }
|
|
|
| void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClose(
|
| @@ -560,7 +569,8 @@ void IndexedDBDispatcherHost::IndexDispatcherHost::OnOpenObjectCursor(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebIDBCursor>(parent_, params.response_id, -1));
|
| + new IndexedDBCallbacks<WebIDBCursor>(parent_, params.thread_id,
|
| + params.response_id, -1));
|
| idb_index->openObjectCursor(
|
| WebIDBKeyRange(params.lower_key, params.upper_key, params.lower_open,
|
| params.upper_open),
|
| @@ -580,7 +590,8 @@ void IndexedDBDispatcherHost::IndexDispatcherHost::OnOpenKeyCursor(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebIDBCursor>(parent_, params.response_id, -1));
|
| + new IndexedDBCallbacks<WebIDBCursor>(parent_, params.thread_id,
|
| + params.response_id, -1));
|
| idb_index->openKeyCursor(
|
| WebIDBKeyRange(params.lower_key, params.upper_key, params.lower_open,
|
| params.upper_open),
|
| @@ -589,6 +600,7 @@ void IndexedDBDispatcherHost::IndexDispatcherHost::OnOpenKeyCursor(
|
|
|
| void IndexedDBDispatcherHost::IndexDispatcherHost::OnGetObject(
|
| int idb_index_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| const IndexedDBKey& key,
|
| int32 transaction_id,
|
| @@ -603,12 +615,14 @@ void IndexedDBDispatcherHost::IndexDispatcherHost::OnGetObject(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, response_id));
|
| + new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, thread_id,
|
| + response_id));
|
| idb_index->getObject(key, callbacks.release(), *idb_transaction, *ec);
|
| }
|
|
|
| void IndexedDBDispatcherHost::IndexDispatcherHost::OnGetKey(
|
| int idb_index_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| const IndexedDBKey& key,
|
| int32 transaction_id,
|
| @@ -623,7 +637,7 @@ void IndexedDBDispatcherHost::IndexDispatcherHost::OnGetKey(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebIDBKey>(parent_, response_id));
|
| + new IndexedDBCallbacks<WebIDBKey>(parent_, thread_id, response_id));
|
| idb_index->getKey(key, callbacks.release(), *idb_transaction, *ec);
|
| }
|
|
|
| @@ -700,6 +714,7 @@ void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnIndexNames(
|
|
|
| void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnGet(
|
| int idb_object_store_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| const IndexedDBKey& key,
|
| int32 transaction_id,
|
| @@ -714,7 +729,8 @@ void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnGet(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, response_id));
|
| + new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, thread_id,
|
| + response_id));
|
| idb_object_store->get(key, callbacks.release(), *idb_transaction, *ec);
|
| }
|
|
|
| @@ -731,7 +747,8 @@ void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnPut(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebIDBKey>(parent_, params.response_id));
|
| + new IndexedDBCallbacks<WebIDBKey>(parent_, params.thread_id,
|
| + params.response_id));
|
| idb_object_store->put(params.serialized_value, params.key, params.put_mode,
|
| callbacks.release(), *idb_transaction, *ec);
|
| if (*ec)
|
| @@ -744,6 +761,7 @@ void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnPut(
|
|
|
| void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnDelete(
|
| int idb_object_store_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| const IndexedDBKey& key,
|
| int32 transaction_id,
|
| @@ -758,13 +776,15 @@ void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnDelete(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, response_id));
|
| + new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, thread_id,
|
| + response_id));
|
| idb_object_store->deleteFunction(
|
| key, callbacks.release(), *idb_transaction, *ec);
|
| }
|
|
|
| void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnClear(
|
| int idb_object_store_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| int32 transaction_id,
|
| WebKit::WebExceptionCode* ec) {
|
| @@ -778,7 +798,8 @@ void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnClear(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, response_id));
|
| + new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, thread_id,
|
| + response_id));
|
| idb_object_store->clear(callbacks.release(), *idb_transaction, *ec);
|
| }
|
|
|
| @@ -852,7 +873,8 @@ void IndexedDBDispatcherHost::ObjectStoreDispatcherHost::OnOpenCursor(
|
|
|
| *ec = 0;
|
| scoped_ptr<WebIDBCallbacks> callbacks(
|
| - new IndexedDBCallbacks<WebIDBCursor>(parent_, params.response_id, -1));
|
| + new IndexedDBCallbacks<WebIDBCursor>(parent_, params.thread_id,
|
| + params.response_id, -1));
|
| idb_object_store->openCursor(
|
| WebIDBKeyRange(params.lower_key, params.upper_key, params.lower_open,
|
| params.upper_open),
|
| @@ -939,6 +961,7 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnValue(
|
|
|
| void IndexedDBDispatcherHost::CursorDispatcherHost::OnUpdate(
|
| int32 cursor_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| const content::SerializedScriptValue& value,
|
| WebKit::WebExceptionCode* ec) {
|
| @@ -949,11 +972,13 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnUpdate(
|
|
|
| *ec = 0;
|
| idb_cursor->update(
|
| - value, new IndexedDBCallbacks<WebIDBKey>(parent_, response_id), *ec);
|
| + value, new IndexedDBCallbacks<WebIDBKey>(parent_, thread_id, response_id),
|
| + *ec);
|
| }
|
|
|
| void IndexedDBDispatcherHost::CursorDispatcherHost::OnContinue(
|
| int32 cursor_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| const IndexedDBKey& key,
|
| WebKit::WebExceptionCode* ec) {
|
| @@ -964,12 +989,13 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnContinue(
|
|
|
| *ec = 0;
|
| idb_cursor->continueFunction(
|
| - key, new IndexedDBCallbacks<WebIDBCursor>(parent_, response_id,
|
| + key, new IndexedDBCallbacks<WebIDBCursor>(parent_, thread_id, response_id,
|
| cursor_id), *ec);
|
| }
|
|
|
| void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetch(
|
| int32 cursor_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| int n,
|
| WebKit::WebExceptionCode* ec) {
|
| @@ -980,7 +1006,7 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetch(
|
|
|
| *ec = 0;
|
| idb_cursor->prefetchContinue(
|
| - n, new IndexedDBCallbacks<WebIDBCursor>(parent_, response_id,
|
| + n, new IndexedDBCallbacks<WebIDBCursor>(parent_, thread_id, response_id,
|
| cursor_id), *ec);
|
| }
|
|
|
| @@ -996,6 +1022,7 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetchReset(
|
|
|
| void IndexedDBDispatcherHost::CursorDispatcherHost::OnDelete(
|
| int32 cursor_id,
|
| + int32 thread_id,
|
| int32 response_id,
|
| WebKit::WebExceptionCode* ec) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT));
|
| @@ -1005,7 +1032,8 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnDelete(
|
|
|
| *ec = 0;
|
| idb_cursor->deleteFunction(
|
| - new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, response_id), *ec);
|
| + new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, thread_id,
|
| + response_id), *ec);
|
| }
|
|
|
| void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed(
|
|
|