| 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 fd8f318e1c1901f4d97fd7a84259bc0f445621dc..fedcafc4295dcbde3a052f7777a5ee2be7d8791b 100644
|
| --- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| +++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| @@ -164,7 +164,7 @@ int32 IndexedDBDispatcherHost::Add(WebIDBDatabase* idb_database,
|
| return 0;
|
| }
|
| int32 idb_database_id = database_dispatcher_host_->map_.Add(idb_database);
|
| - Context()->ConnectionOpened(origin_url);
|
| + Context()->ConnectionOpened(origin_url, idb_database);
|
| database_dispatcher_host_->database_url_map_[idb_database_id] = origin_url;
|
| return idb_database_id;
|
| }
|
| @@ -301,9 +301,10 @@ IndexedDBDispatcherHost::DatabaseDispatcherHost::~DatabaseDispatcherHost() {
|
| for (WebIDBObjectIDToURLMap::iterator iter = database_url_map_.begin();
|
| iter != database_url_map_.end(); iter++) {
|
| WebIDBDatabase* database = map_.Lookup(iter->first);
|
| - if (database)
|
| + if (database) {
|
| database->close();
|
| - parent_->Context()->ConnectionClosed(iter->second);
|
| + parent_->Context()->ConnectionClosed(iter->second, database);
|
| + }
|
| }
|
| }
|
|
|
| @@ -473,7 +474,8 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClose(
|
|
|
| void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDestroyed(
|
| int32 object_id) {
|
| - parent_->Context()->ConnectionClosed(database_url_map_[object_id]);
|
| + WebIDBDatabase* database = map_.Lookup(object_id);
|
| + parent_->Context()->ConnectionClosed(database_url_map_[object_id], database);
|
| database_url_map_.erase(object_id);
|
| parent_->DestroyObject(&map_, object_id);
|
| }
|
|
|