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 12638e8c4ee1fa5c3bfe071e9829a0d82eba3c3d..bb5b027742907b8ebf25ae8d1feff364460c35ea 100644 |
--- a/content/browser/permissions/permission_service_impl.cc |
+++ b/content/browser/permissions/permission_service_impl.cc |
@@ -109,7 +109,16 @@ void PermissionServiceImpl::HasPermission( |
PermissionName permission, |
const mojo::String& origin, |
const mojo::Callback<void(PermissionStatus)>& callback) { |
- NOTIMPLEMENTED(); |
+ DCHECK(context_->GetBrowserContext()); |
+ |
+ // If the embedding_origin is empty we'll use |origin| instead. |
+ GURL embedding_origin = context_->GetEmbeddingOrigin(); |
+ |
+ callback.Run(GetContentClient()->browser()->GetPermissionStatus( |
+ PermissionNameToPermissionType(permission), |
+ context_->GetBrowserContext(), |
+ GURL(origin), |
+ embedding_origin.is_empty() ? GURL(origin) : embedding_origin)); |
} |
} // namespace content |