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

Unified Diff: content/browser/permissions/permission_service_context.cc

Issue 2842013002: Use a mojo::StrongBindingSet to manage PermissionServiceImpls (Closed)
Patch Set: Created 3 years, 8 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/permissions/permission_service_context.cc
diff --git a/content/browser/permissions/permission_service_context.cc b/content/browser/permissions/permission_service_context.cc
index 717fdd25eb64fa0b3281465b80720f59ae4be5b8..d9f58a70a5a2deb9ce3f1722fbdcb2abc6dde277 100644
--- a/content/browser/permissions/permission_service_context.cc
+++ b/content/browser/permissions/permission_service_context.cc
@@ -72,9 +72,9 @@ PermissionServiceContext::~PermissionServiceContext() {
}
void PermissionServiceContext::CreateService(
- mojo::InterfaceRequest<blink::mojom::PermissionService> request) {
- services_.push_back(
- base::MakeUnique<PermissionServiceImpl>(this, std::move(request)));
+ blink::mojom::PermissionServiceRequest request) {
+ services_.AddBinding(base::MakeUnique<PermissionServiceImpl>(this),
+ std::move(request));
}
void PermissionServiceContext::CreateSubscription(
@@ -101,17 +101,6 @@ void PermissionServiceContext::CreateSubscription(
subscriptions_[subscription_id] = std::move(subscription);
}
-void PermissionServiceContext::ServiceHadConnectionError(
- PermissionServiceImpl* service) {
- auto it = std::find_if(
- services_.begin(), services_.end(),
- [service](const std::unique_ptr<PermissionServiceImpl>& this_service) {
- return service == this_service.get();
- });
- DCHECK(it != services_.end());
- services_.erase(it);
-}
-
void PermissionServiceContext::ObserverHadConnectionError(int subscription_id) {
auto it = subscriptions_.find(subscription_id);
DCHECK(it != subscriptions_.end());
@@ -143,9 +132,7 @@ void PermissionServiceContext::CancelPendingOperations(
if (render_frame_host != render_frame_host_)
return;
- for (const auto& service : services_)
- service->CancelPendingOperations();
raymes 2017/04/28 02:46:00 Please bear with my ignorance because my mojo-foo
Reilly Grant (use Gerrit) 2017/04/28 17:52:22 It's a good question. Yes, before the requests wou
-
+ services_.CloseAllBindings();
subscriptions_.clear();
}
« no previous file with comments | « content/browser/permissions/permission_service_context.h ('k') | content/browser/permissions/permission_service_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698