Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Unified Diff: content/browser/indexed_db/indexed_db_callbacks.cc

Issue 2727733004: [IndexedDB] Closing mojo connections when renderer quits (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/indexed_db/indexed_db_callbacks.cc
diff --git a/content/browser/indexed_db/indexed_db_callbacks.cc b/content/browser/indexed_db/indexed_db_callbacks.cc
index ab1329379cd841a919a15825db28ddf45fd40355..ef15cdd6b716421a2b3b73119150e7d0c018dbaf 100644
--- a/content/browser/indexed_db/indexed_db_callbacks.cc
+++ b/content/browser/indexed_db/indexed_db_callbacks.cc
@@ -226,7 +226,7 @@ void IndexedDBCallbacks::OnUpgradeNeeded(
data_loss_ = data_loss_info.status;
database_sent_ = true;
auto database = base::MakeUnique<DatabaseImpl>(std::move(connection), origin_,
- dispatcher_host_);
+ dispatcher_host_.get());
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
@@ -258,8 +258,8 @@ void IndexedDBCallbacks::OnSuccess(
// OnUpgradeNeeded.
std::unique_ptr<DatabaseImpl> database;
if (!database_sent_) {
- database.reset(
- new DatabaseImpl(std::move(connection), origin_, dispatcher_host_));
+ database.reset(new DatabaseImpl(std::move(connection), origin_,
+ dispatcher_host_.get()));
}
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
@@ -287,7 +287,7 @@ void IndexedDBCallbacks::OnSuccess(std::unique_ptr<IndexedDBCursor> cursor,
DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
auto cursor_impl = base::MakeUnique<CursorImpl>(std::move(cursor), origin_,
- dispatcher_host_);
+ dispatcher_host_.get());
::indexed_db::mojom::ValuePtr mojo_value;
std::vector<IndexedDBBlobInfo> blob_info;
@@ -480,7 +480,8 @@ void IndexedDBCallbacks::IOThreadHelper::SendUpgradeNeeded(
::indexed_db::mojom::DatabaseAssociatedPtrInfo ptr_info;
auto request = mojo::MakeRequest(&ptr_info);
- mojo::MakeStrongAssociatedBinding(std::move(database), std::move(request));
+
+ dispatcher_host_->AddDatabaseBinding(std::move(database), std::move(request));
callbacks_->UpgradeNeeded(std::move(ptr_info), old_version, data_loss,
data_loss_message, metadata);
}
@@ -494,7 +495,8 @@ void IndexedDBCallbacks::IOThreadHelper::SendSuccessDatabase(
::indexed_db::mojom::DatabaseAssociatedPtrInfo ptr_info;
if (database) {
auto request = mojo::MakeRequest(&ptr_info);
- mojo::MakeStrongAssociatedBinding(std::move(database), std::move(request));
+ dispatcher_host_->AddDatabaseBinding(std::move(database),
+ std::move(request));
}
callbacks_->SuccessDatabase(std::move(ptr_info), metadata);
}
@@ -513,7 +515,7 @@ void IndexedDBCallbacks::IOThreadHelper::SendSuccessCursor(
::indexed_db::mojom::CursorAssociatedPtrInfo ptr_info;
auto request = mojo::MakeRequest(&ptr_info);
- mojo::MakeStrongAssociatedBinding(std::move(cursor), std::move(request));
+ dispatcher_host_->AddCursorBinding(std::move(cursor), std::move(request));
callbacks_->SuccessCursor(std::move(ptr_info), key, primary_key,
std::move(value));
}

Powered by Google App Engine
This is Rietveld 408576698