// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_PERMISSIONS_PERMISSION_SERVICE_IMPL_H_ #define CONTENT_BROWSER_PERMISSIONS_PERMISSION_SERVICE_IMPL_H_ #include "base/containers/id_map.h" #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "content/browser/permissions/permission_service_context.h" #include "content/public/browser/permission_request_description.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "third_party/blink/public/mojom/permissions/permission.mojom.h" #include "url/origin.h" namespace blink { enum class PermissionType; } namespace content { // Implements the PermissionService Mojo interface. // This service can be created from a RenderFrameHost or a RenderProcessHost. // It is owned by a PermissionServiceContext. // It receives at PermissionServiceContext instance when created which allows it // to have some information about the current context. That enables the service // to know whether it can show UI and have knowledge of the associated // WebContents for example. // TODO(crbug.com/40220500): Use url::Origin instead of GURL. class PermissionServiceImpl : public blink::mojom::PermissionService { … }; } // namespace content #endif // CONTENT_BROWSER_PERMISSIONS_PERMISSION_SERVICE_IMPL_H_