#include "content/browser/geolocation/geolocation_service_impl.h"
#include <utility>
#include "base/functional/bind.h"
#include "content/browser/permissions/permission_controller_impl.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/permission_controller.h"
#include "content/public/browser/permission_request_description.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "mojo/public/cpp/bindings/callback_helpers.h"
#include "services/device/public/mojom/geoposition.mojom.h"
#include "third_party/blink/public/common/permissions/permission_utils.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom.h"
#if BUILDFLAG(IS_IOS)
#include "services/device/public/cpp/geolocation/geolocation_system_permission_manager.h"
#endif
namespace content {
GeolocationServiceImplContext::GeolocationServiceImplContext() = default;
GeolocationServiceImplContext::~GeolocationServiceImplContext() = default;
void GeolocationServiceImplContext::RequestPermission(
RenderFrameHost* render_frame_host,
bool user_gesture,
PermissionCallback callback) { … }
void GeolocationServiceImplContext::HandlePermissionStatus(
PermissionCallback callback,
blink::mojom::PermissionStatus permission_status) { … }
GeolocationServiceImpl::GeolocationServiceImpl(
device::mojom::GeolocationContext* geolocation_context,
RenderFrameHost* render_frame_host)
: … { … }
GeolocationServiceImpl::~GeolocationServiceImpl() = default;
void GeolocationServiceImpl::Bind(
mojo::PendingReceiver<blink::mojom::GeolocationService> receiver) { … }
void GeolocationServiceImpl::CreateGeolocation(
mojo::PendingReceiver<device::mojom::Geolocation> receiver,
bool user_gesture,
CreateGeolocationCallback callback) { … }
void GeolocationServiceImpl::CreateGeolocationWithPermissionStatus(
mojo::PendingReceiver<device::mojom::Geolocation> receiver,
CreateGeolocationCallback callback,
blink::mojom::PermissionStatus permission_status) { … }
void GeolocationServiceImpl::HandlePermissionStatusChange(
blink::mojom::PermissionStatus permission_status) { … }
}