#include "third_party/blink/renderer/modules/permissions/permission_utils.h"
#include <utility>
#include "build/build_config.h"
#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_camera_device_permission_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_clipboard_permission_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_fullscreen_permission_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_midi_permission_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_permission_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_permission_name.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_permission_state.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_push_permission_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_top_level_storage_access_permission_descriptor.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
#include "third_party/blink/renderer/core/workers/worker_thread.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
namespace blink {
namespace {
constexpr V8PermissionState::Enum ToPermissionStateEnum(
mojom::blink::PermissionStatus status) { … }
}
MojoPermissionDescriptor;
PermissionDescriptorPtr;
PermissionName;
void ConnectToPermissionService(
ExecutionContext* execution_context,
mojo::PendingReceiver<mojom::blink::PermissionService> receiver) { … }
V8PermissionState ToV8PermissionState(mojom::blink::PermissionStatus status) { … }
String PermissionStatusToString(mojom::blink::PermissionStatus status) { … }
String PermissionNameToString(PermissionName name) { … }
PermissionDescriptorPtr CreatePermissionDescriptor(PermissionName name) { … }
PermissionDescriptorPtr CreateMidiPermissionDescriptor(bool sysex) { … }
PermissionDescriptorPtr CreateClipboardPermissionDescriptor(
PermissionName name,
bool has_user_gesture,
bool will_be_sanitized) { … }
PermissionDescriptorPtr CreateVideoCapturePermissionDescriptor(
bool pan_tilt_zoom) { … }
PermissionDescriptorPtr CreateTopLevelStorageAccessPermissionDescriptor(
const KURL& origin_as_kurl) { … }
PermissionDescriptorPtr CreateFullscreenPermissionDescriptor(
bool allow_without_user_gesture) { … }
PermissionDescriptorPtr ParsePermissionDescriptor(
ScriptState* script_state,
const ScriptValue& raw_descriptor,
ExceptionState& exception_state) { … }
}