| 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,
|
|
|