| 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..479bf9404b561a6a95720ff2e506b6e9b83da7e1 100644
|
| --- a/content/common/indexed_db/indexed_db_dispatcher.cc
|
| +++ b/content/common/indexed_db/indexed_db_dispatcher.cc
|
| @@ -107,6 +107,8 @@ void IndexedDBDispatcher::OnMessageReceived(const IPC::Message& msg) {
|
| IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksUpgradeNeeded, OnUpgradeNeeded)
|
| IPC_MESSAGE_HANDLER(IndexedDBMsg_TransactionCallbacksAbort, OnAbort)
|
| IPC_MESSAGE_HANDLER(IndexedDBMsg_TransactionCallbacksComplete, OnComplete)
|
| + IPC_MESSAGE_HANDLER(IndexedDBMsg_DatabaseCallbacksForcedClose,
|
| + OnForcedClose)
|
| IPC_MESSAGE_HANDLER(IndexedDBMsg_DatabaseCallbacksIntVersionChange,
|
| OnIntVersionChange)
|
| IPC_MESSAGE_HANDLER(IndexedDBMsg_DatabaseCallbacksVersionChange,
|
| @@ -742,6 +744,16 @@ void IndexedDBDispatcher::OnComplete(int32 thread_id, int32 transaction_id) {
|
| pending_transaction_callbacks_.Remove(transaction_id);
|
| }
|
|
|
| +void IndexedDBDispatcher::OnForcedClose(int32 thread_id,
|
| + int32 database_id) {
|
| + DCHECK_EQ(thread_id, CurrentWorkerId());
|
| + WebIDBDatabaseCallbacks* callbacks =
|
| + pending_database_callbacks_.Lookup(database_id);
|
| + if (!callbacks)
|
| + return;
|
| + callbacks->onForcedClose();
|
| +}
|
| +
|
| void IndexedDBDispatcher::OnIntVersionChange(int32 thread_id,
|
| int32 database_id,
|
| int64 old_version,
|
|
|