#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_FENCED_FRAME_FENCED_FRAME_CONFIG_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_FENCED_FRAME_FENCED_FRAME_CONFIG_MOJOM_SHARED_H_
#include <stdint.h>
#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame_config.mojom-shared-internal.h"
#include "services/network/public/mojom/schemeful_site.mojom-shared.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "base/component_export.h"
namespace blink::mojom {
class AdAuctionDataDataView;
class URNConfigPairDataView;
class SharedStorageBudgetMetadataDataView;
class ParentPermissionsInfoDataView;
class FencedFrameConfigDataView;
class FencedFramePropertiesDataView;
class PotentiallyOpaqueURLDataView;
class PotentiallyOpaqueSizeDataView;
class PotentiallyOpaqueBoolDataView;
class PotentiallyOpaqueAdAuctionDataDataView;
class PotentiallyOpaqueConfigVectorDataView;
class PotentiallyOpaqueURNConfigVectorDataView;
class PotentiallyOpaqueSharedStorageBudgetMetadataDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::blink::mojom::AdAuctionDataDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::URNConfigPairDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::SharedStorageBudgetMetadataDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ParentPermissionsInfoDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::FencedFrameConfigDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::FencedFramePropertiesDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueURLDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueSizeDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueBoolDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueAdAuctionDataDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueConfigVectorDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueURNConfigVectorDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueSharedStorageBudgetMetadataDataView> { … };
}
}
namespace blinkmojom
namespace std {
template <>
struct hash<::blink::mojom::ReportingDestination>
: public mojo::internal::EnumHashImpl<::blink::mojom::ReportingDestination> { … };
template <>
struct hash<::blink::mojom::DeprecatedFencedFrameMode>
: public mojo::internal::EnumHashImpl<::blink::mojom::DeprecatedFencedFrameMode> { … };
template <>
struct hash<::blink::mojom::Opaque>
: public mojo::internal::EnumHashImpl<::blink::mojom::Opaque> { … };
template <>
struct hash<::blink::mojom::AutomaticBeaconType>
: public mojo::internal::EnumHashImpl<::blink::mojom::AutomaticBeaconType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::blink::mojom::ReportingDestination, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::DeprecatedFencedFrameMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::Opaque, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AutomaticBeaconType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AdAuctionDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::URNConfigPairDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::SharedStorageBudgetMetadataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ParentPermissionsInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::FencedFrameConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::FencedFramePropertiesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PotentiallyOpaqueURLDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PotentiallyOpaqueSizeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PotentiallyOpaqueBoolDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PotentiallyOpaqueAdAuctionDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PotentiallyOpaqueConfigVectorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PotentiallyOpaqueURNConfigVectorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PotentiallyOpaqueSharedStorageBudgetMetadataDataView, MaybeConstUserType>;
}
}
namespace blink::mojom {
inline void AdAuctionDataDataView::GetInterestGroupOwnerDataView(
::url::mojom::OriginDataView* output) { … }
inline void AdAuctionDataDataView::GetInterestGroupNameDataView(
mojo::StringDataView* output) { … }
inline void URNConfigPairDataView::GetUrnDataView(
::url::mojom::UrlDataView* output) { … }
inline void URNConfigPairDataView::GetConfigDataView(
FencedFrameConfigDataView* output) { … }
inline void SharedStorageBudgetMetadataDataView::GetSiteDataView(
::network::mojom::SchemefulSiteDataView* output) { … }
inline void ParentPermissionsInfoDataView::GetParsedPermissionsPolicyDataView(
mojo::ArrayDataView<::blink::mojom::ParsedPermissionsPolicyDeclarationDataView>* output) { … }
inline void ParentPermissionsInfoDataView::GetOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void FencedFrameConfigDataView::GetMappedUrlDataView(
PotentiallyOpaqueURLDataView* output) { … }
inline void FencedFrameConfigDataView::GetContainerSizeDataView(
PotentiallyOpaqueSizeDataView* output) { … }
inline void FencedFrameConfigDataView::GetContentSizeDataView(
PotentiallyOpaqueSizeDataView* output) { … }
inline void FencedFrameConfigDataView::GetDeprecatedShouldFreezeInitialSizeDataView(
PotentiallyOpaqueBoolDataView* output) { … }
inline void FencedFrameConfigDataView::GetAdAuctionDataDataView(
PotentiallyOpaqueAdAuctionDataDataView* output) { … }
inline void FencedFrameConfigDataView::GetNestedConfigsDataView(
PotentiallyOpaqueConfigVectorDataView* output) { … }
inline void FencedFrameConfigDataView::GetSharedStorageBudgetMetadataDataView(
PotentiallyOpaqueSharedStorageBudgetMetadataDataView* output) { … }
inline void FencedFrameConfigDataView::GetUrnUuidDataView(
::url::mojom::UrlDataView* output) { … }
inline void FencedFrameConfigDataView::GetEffectiveEnabledPermissionsDataView(
mojo::ArrayDataView<::blink::mojom::PermissionsPolicyFeature>* output) { … }
inline void FencedFrameConfigDataView::GetParentPermissionsInfoDataView(
ParentPermissionsInfoDataView* output) { … }
inline void FencedFramePropertiesDataView::GetMappedUrlDataView(
PotentiallyOpaqueURLDataView* output) { … }
inline void FencedFramePropertiesDataView::GetContainerSizeDataView(
PotentiallyOpaqueSizeDataView* output) { … }
inline void FencedFramePropertiesDataView::GetContentSizeDataView(
PotentiallyOpaqueSizeDataView* output) { … }
inline void FencedFramePropertiesDataView::GetDeprecatedShouldFreezeInitialSizeDataView(
PotentiallyOpaqueBoolDataView* output) { … }
inline void FencedFramePropertiesDataView::GetAdAuctionDataDataView(
PotentiallyOpaqueAdAuctionDataDataView* output) { … }
inline void FencedFramePropertiesDataView::GetNestedUrnConfigPairsDataView(
PotentiallyOpaqueURNConfigVectorDataView* output) { … }
inline void FencedFramePropertiesDataView::GetSharedStorageBudgetMetadataDataView(
PotentiallyOpaqueSharedStorageBudgetMetadataDataView* output) { … }
inline void FencedFramePropertiesDataView::GetEffectiveEnabledPermissionsDataView(
mojo::ArrayDataView<::blink::mojom::PermissionsPolicyFeature>* output) { … }
inline void FencedFramePropertiesDataView::GetParentPermissionsInfoDataView(
ParentPermissionsInfoDataView* output) { … }
inline void PotentiallyOpaqueURLDataView::GetTransparentDataView(
::url::mojom::UrlDataView* output) const { … }
inline void PotentiallyOpaqueSizeDataView::GetTransparentDataView(
::gfx::mojom::SizeDataView* output) const { … }
inline void PotentiallyOpaqueAdAuctionDataDataView::GetTransparentDataView(
AdAuctionDataDataView* output) const { … }
inline void PotentiallyOpaqueConfigVectorDataView::GetTransparentDataView(
mojo::ArrayDataView<FencedFrameConfigDataView>* output) const { … }
inline void PotentiallyOpaqueURNConfigVectorDataView::GetTransparentDataView(
mojo::ArrayDataView<URNConfigPairDataView>* output) const { … }
inline void PotentiallyOpaqueSharedStorageBudgetMetadataDataView::GetTransparentDataView(
SharedStorageBudgetMetadataDataView* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ReportingDestination> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::DeprecatedFencedFrameMode> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::Opaque> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::AutomaticBeaconType> { … };
}
#endif