#ifndef CONTENT_PUBLIC_BROWSER_PERMISSION_REQUEST_DESCRIPTION_H_
#define CONTENT_PUBLIC_BROWSER_PERMISSION_REQUEST_DESCRIPTION_H_
#include <vector>
#include "content/common/content_export.h"
#include "third_party/blink/public/common/permissions/permission_utils.h"
#include "third_party/blink/public/mojom/permissions/permission.mojom.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"
#include "ui/gfx/geometry/rect.h"
#include "url/gurl.h"
namespace content {
struct CONTENT_EXPORT PermissionRequestDescription {
explicit PermissionRequestDescription(
std::vector<blink::mojom::PermissionDescriptorPtr> permissions,
bool user_gesture = false,
const GURL& requesting_origin = GURL());
explicit PermissionRequestDescription(
blink::mojom::PermissionDescriptorPtr permission,
bool user_gesture = false,
const GURL& requesting_origin = GURL());
explicit PermissionRequestDescription(
std::vector<blink::mojom::PermissionDescriptorPtr> permissions,
blink::mojom::EmbeddedPermissionRequestDescriptorPtr descriptor);
PermissionRequestDescription& operator=(const PermissionRequestDescription&) =
delete;
PermissionRequestDescription(const PermissionRequestDescription&);
PermissionRequestDescription& operator=(PermissionRequestDescription&&);
PermissionRequestDescription(PermissionRequestDescription&&);
~PermissionRequestDescription();
bool operator==(const PermissionRequestDescription& other) const;
std::vector<blink::mojom::PermissionDescriptorPtr> permissions;
bool user_gesture;
GURL requesting_origin;
blink::mojom::EmbeddedPermissionRequestDescriptorPtr
embedded_permission_request_descriptor;
std::vector<std::string> requested_audio_capture_device_ids;
std::vector<std::string> requested_video_capture_device_ids;
};
}
#endif