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

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

Issue 2842013002: Use a mojo::StrongBindingSet to manage PermissionServiceImpls (Closed)
Patch Set: Rebased Created 3 years, 7 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
« no previous file with comments | « content/browser/permissions/permission_service_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/permissions/permission_service_impl.cc
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
index 90767d0599e39d51a5b9c0c105449e0240f2563a..50f13c585def91fab0832f7983efcc2d75e9ccff 100644
--- a/content/browser/permissions/permission_service_impl.cc
+++ b/content/browser/permissions/permission_service_impl.cc
@@ -82,25 +82,23 @@ PermissionServiceImpl::PendingRequest::~PendingRequest() {
callback.Run(result);
}
-PermissionServiceImpl::PermissionServiceImpl(
- PermissionServiceContext* context,
- mojo::InterfaceRequest<blink::mojom::PermissionService> request)
- : context_(context),
- binding_(this, std::move(request)),
- weak_factory_(this) {
- binding_.set_connection_error_handler(
- base::Bind(&PermissionServiceImpl::OnConnectionError,
- base::Unretained(this)));
-}
+PermissionServiceImpl::PermissionServiceImpl(PermissionServiceContext* context)
+ : context_(context), weak_factory_(this) {}
PermissionServiceImpl::~PermissionServiceImpl() {
- DCHECK(pending_requests_.IsEmpty());
-}
+ DCHECK(context_->GetBrowserContext());
+
+ PermissionManager* permission_manager =
+ context_->GetBrowserContext()->GetPermissionManager();
+ if (!permission_manager)
+ return;
-void PermissionServiceImpl::OnConnectionError() {
- CancelPendingOperations();
- context_->ServiceHadConnectionError(this);
- // After that call, |this| will be deleted.
+ // Cancel pending requests.
+ for (RequestsMap::Iterator<PendingRequest> it(&pending_requests_);
+ !it.IsAtEnd(); it.Advance()) {
+ permission_manager->CancelPermissionRequest(it.GetCurrentValue()->id);
+ }
+ pending_requests_.Clear();
}
void PermissionServiceImpl::RequestPermission(
@@ -201,23 +199,6 @@ void PermissionServiceImpl::OnRequestPermissionsResponse(
callback.Run(result);
}
-void PermissionServiceImpl::CancelPendingOperations() {
- DCHECK(context_->GetBrowserContext());
-
- PermissionManager* permission_manager =
- context_->GetBrowserContext()->GetPermissionManager();
- if (!permission_manager)
- return;
-
- // Cancel pending requests.
- for (RequestsMap::Iterator<PendingRequest> it(&pending_requests_);
- !it.IsAtEnd(); it.Advance()) {
- permission_manager->CancelPermissionRequest(
- it.GetCurrentValue()->id);
- }
- pending_requests_.Clear();
-}
-
void PermissionServiceImpl::HasPermission(
PermissionDescriptorPtr permission,
const url::Origin& origin,
« no previous file with comments | « content/browser/permissions/permission_service_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698