1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/permissions/permission_request_data.h"
6 #include "components/permissions/permission_context_base.h"
7 #include "content/public/browser/permission_request_description.h"
9 namespace permissions {
11 PermissionRequestData::PermissionRequestData(
12 PermissionContextBase* context,
13 const PermissionRequestID& id,
14 const content::PermissionRequestDescription& request_description,
15 const GURL& canonical_requesting_origin)
16 : request_type(ContentSettingsTypeToRequestTypeIfExists(
17 context->content_settings_type())),
19 user_gesture(request_description.user_gesture),
20 embedded_permission_element_initiated(
21 request_description.embedded_permission_element_initiated),
22 requesting_origin(canonical_requesting_origin) {}
24 PermissionRequestData::PermissionRequestData(PermissionContextBase* context,
25 const PermissionRequestID& id,
27 const GURL& requesting_origin,
28 const GURL& embedding_origin)
29 : request_type(ContentSettingsTypeToRequestTypeIfExists(
30 context->content_settings_type())),
32 user_gesture(user_gesture),
33 embedded_permission_element_initiated(false),
34 requesting_origin(requesting_origin),
35 embedding_origin(embedding_origin) {}
37 PermissionRequestData::PermissionRequestData(RequestType request_type,
39 const GURL& requesting_origin,
40 const GURL& embedding_origin)
41 : request_type(request_type),
42 id(PermissionRequestID(
43 content::GlobalRenderFrameHostId(0, 0),
44 permissions::PermissionRequestID::RequestLocalId())),
45 user_gesture(user_gesture),
46 embedded_permission_element_initiated(false),
47 requesting_origin(requesting_origin),
48 embedding_origin(embedding_origin) {}
50 PermissionRequestData& PermissionRequestData::operator=(
51 PermissionRequestData&&) = default;
52 PermissionRequestData::PermissionRequestData(PermissionRequestData&&) = default;
54 PermissionRequestData::~PermissionRequestData() = default;
56 } // namespace permissions