chromium/out/Default/gen/third_party/blink/public/mojom/devtools/inspector_issue.mojom-shared.h

// third_party/blink/public/mojom/devtools/inspector_issue.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_DEVTOOLS_INSPECTOR_ISSUE_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_DEVTOOLS_INSPECTOR_ISSUE_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/devtools/inspector_issue.mojom-shared-internal.h"
#include "url/mojom/url.mojom-shared.h"
#include "services/network/public/mojom/cookie_manager.mojom-shared.h"
#include "services/network/public/mojom/blocked_by_response_reason.mojom-shared.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-shared.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"



#include "base/component_export.h"




namespace blink::mojom {
class AffectedCookieDataView;

class AffectedRequestDataView;

class AffectedFrameDataView;

class AffectedLocationDataView;

class BlockedByResponseIssueDetailsDataView;

class HeavyAdIssueDetailsDataView;

class AttributionReportingIssueDetailsDataView;

class MixedContentIssueDetailsDataView;

class ContentSecurityPolicyIssueDetailsDataView;

class CookieIssueDetailsDataView;

class SharedArrayBufferIssueDetailsDataView;

class LowTextContrastIssueDataView;

class FederatedAuthRequestIssueDetailsDataView;

class FederatedAuthUserInfoRequestIssueDetailsDataView;

class BounceTrackingIssueDetailsDataView;

class CookieDeprecationMetadataIssueDetailsDataView;

class GenericIssueDetailsDataView;

class DeprecationIssueDetailsDataView;

class InspectorIssueDetailsDataView;

class InspectorIssueInfoDataView;



}  // blink::mojom

namespace mojo {
namespace internal {

template <>
struct MojomTypeTraits<::blink::mojom::AffectedCookieDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::AffectedRequestDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::AffectedFrameDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::AffectedLocationDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::BlockedByResponseIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::HeavyAdIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::AttributionReportingIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::MixedContentIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::ContentSecurityPolicyIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::CookieIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::SharedArrayBufferIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::LowTextContrastIssueDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::FederatedAuthRequestIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::FederatedAuthUserInfoRequestIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::BounceTrackingIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::CookieDeprecationMetadataIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::GenericIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::DeprecationIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::InspectorIssueDetailsDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::InspectorIssueInfoDataView> {};

}  // namespace internal
}  // namespace mojo


namespace blinkmojom  // blink::mojom

namespace std {

template <>
struct hash<::blink::mojom::InspectorIssueCode>
    : public mojo::internal::EnumHashImpl<::blink::mojom::InspectorIssueCode> {};

template <>
struct hash<::blink::mojom::HeavyAdResolutionStatus>
    : public mojo::internal::EnumHashImpl<::blink::mojom::HeavyAdResolutionStatus> {};

template <>
struct hash<::blink::mojom::HeavyAdReason>
    : public mojo::internal::EnumHashImpl<::blink::mojom::HeavyAdReason> {};

template <>
struct hash<::blink::mojom::AttributionReportingIssueType>
    : public mojo::internal::EnumHashImpl<::blink::mojom::AttributionReportingIssueType> {};

template <>
struct hash<::blink::mojom::MixedContentResolutionStatus>
    : public mojo::internal::EnumHashImpl<::blink::mojom::MixedContentResolutionStatus> {};

template <>
struct hash<::blink::mojom::ContentSecurityPolicyViolationType>
    : public mojo::internal::EnumHashImpl<::blink::mojom::ContentSecurityPolicyViolationType> {};

template <>
struct hash<::blink::mojom::CookieOperation>
    : public mojo::internal::EnumHashImpl<::blink::mojom::CookieOperation> {};

template <>
struct hash<::blink::mojom::CookieExclusionReason>
    : public mojo::internal::EnumHashImpl<::blink::mojom::CookieExclusionReason> {};

template <>
struct hash<::blink::mojom::CookieWarningReason>
    : public mojo::internal::EnumHashImpl<::blink::mojom::CookieWarningReason> {};

template <>
struct hash<::blink::mojom::SharedArrayBufferIssueType>
    : public mojo::internal::EnumHashImpl<::blink::mojom::SharedArrayBufferIssueType> {};

template <>
struct hash<::blink::mojom::FederatedAuthRequestResult>
    : public mojo::internal::EnumHashImpl<::blink::mojom::FederatedAuthRequestResult> {};

template <>
struct hash<::blink::mojom::FederatedAuthUserInfoRequestResult>
    : public mojo::internal::EnumHashImpl<::blink::mojom::FederatedAuthUserInfoRequestResult> {};

template <>
struct hash<::blink::mojom::GenericIssueErrorType>
    : public mojo::internal::EnumHashImpl<::blink::mojom::GenericIssueErrorType> {};

template <>
struct hash<::blink::mojom::DeprecationIssueType>
    : public mojo::internal::EnumHashImpl<::blink::mojom::DeprecationIssueType> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::blink::mojom::InspectorIssueCode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::HeavyAdResolutionStatus, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::HeavyAdReason, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AttributionReportingIssueType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::MixedContentResolutionStatus, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::ContentSecurityPolicyViolationType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::CookieOperation, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::CookieExclusionReason, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::CookieWarningReason, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::SharedArrayBufferIssueType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::FederatedAuthRequestResult, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::FederatedAuthUserInfoRequestResult, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::GenericIssueErrorType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::DeprecationIssueType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AffectedCookieDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AffectedRequestDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AffectedFrameDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AffectedLocationDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::BlockedByResponseIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::HeavyAdIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AttributionReportingIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::MixedContentIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::ContentSecurityPolicyIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::CookieIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::SharedArrayBufferIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::LowTextContrastIssueDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::FederatedAuthRequestIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::FederatedAuthUserInfoRequestIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::BounceTrackingIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::CookieDeprecationMetadataIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::GenericIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::DeprecationIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::InspectorIssueDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::InspectorIssueInfoDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace blink::mojom {

inline void AffectedCookieDataView::GetNameDataView(
    mojo::StringDataView* output) {}
inline void AffectedCookieDataView::GetPathDataView(
    mojo::StringDataView* output) {}
inline void AffectedCookieDataView::GetDomainDataView(
    mojo::StringDataView* output) {}


inline void AffectedRequestDataView::GetRequestIdDataView(
    mojo::StringDataView* output) {}
inline void AffectedRequestDataView::GetUrlDataView(
    mojo::StringDataView* output) {}


inline void AffectedFrameDataView::GetFrameIdDataView(
    mojo::StringDataView* output) {}


inline void AffectedLocationDataView::GetScriptIdDataView(
    mojo::StringDataView* output) {}
inline void AffectedLocationDataView::GetUrlDataView(
    mojo::StringDataView* output) {}


inline void BlockedByResponseIssueDetailsDataView::GetRequestDataView(
    AffectedRequestDataView* output) {}
inline void BlockedByResponseIssueDetailsDataView::GetParentFrameDataView(
    AffectedFrameDataView* output) {}
inline void BlockedByResponseIssueDetailsDataView::GetBlockedFrameDataView(
    AffectedFrameDataView* output) {}


inline void HeavyAdIssueDetailsDataView::GetFrameDataView(
    AffectedFrameDataView* output) {}


inline void AttributionReportingIssueDetailsDataView::GetRequestDataView(
    AffectedRequestDataView* output) {}
inline void AttributionReportingIssueDetailsDataView::GetInvalidParameterDataView(
    mojo::StringDataView* output) {}


inline void MixedContentIssueDetailsDataView::GetInsecureUrlDataView(
    mojo::StringDataView* output) {}
inline void MixedContentIssueDetailsDataView::GetMainResourceUrlDataView(
    mojo::StringDataView* output) {}
inline void MixedContentIssueDetailsDataView::GetRequestDataView(
    AffectedRequestDataView* output) {}
inline void MixedContentIssueDetailsDataView::GetFrameDataView(
    AffectedFrameDataView* output) {}


inline void ContentSecurityPolicyIssueDetailsDataView::GetBlockedUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void ContentSecurityPolicyIssueDetailsDataView::GetViolatedDirectiveDataView(
    mojo::StringDataView* output) {}
inline void ContentSecurityPolicyIssueDetailsDataView::GetFrameAncestorDataView(
    AffectedFrameDataView* output) {}
inline void ContentSecurityPolicyIssueDetailsDataView::GetAffectedLocationDataView(
    AffectedLocationDataView* output) {}


inline void CookieIssueDetailsDataView::GetCookieDataView(
    AffectedCookieDataView* output) {}
inline void CookieIssueDetailsDataView::GetExclusionReasonDataView(
    mojo::ArrayDataView<CookieExclusionReason>* output) {}
inline void CookieIssueDetailsDataView::GetWarningReasonDataView(
    mojo::ArrayDataView<CookieWarningReason>* output) {}
inline void CookieIssueDetailsDataView::GetSiteForCookiesDataView(
    ::url::mojom::UrlDataView* output) {}
inline void CookieIssueDetailsDataView::GetCookieUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void CookieIssueDetailsDataView::GetRequestDataView(
    AffectedRequestDataView* output) {}


inline void SharedArrayBufferIssueDetailsDataView::GetAffectedLocationDataView(
    AffectedLocationDataView* output) {}


inline void LowTextContrastIssueDataView::GetViolatingNodeSelectorDataView(
    mojo::StringDataView* output) {}
inline void LowTextContrastIssueDataView::GetFontSizeDataView(
    mojo::StringDataView* output) {}
inline void LowTextContrastIssueDataView::GetFontWeightDataView(
    mojo::StringDataView* output) {}






inline void BounceTrackingIssueDetailsDataView::GetTrackingSitesDataView(
    mojo::ArrayDataView<mojo::StringDataView>* output) {}


inline void CookieDeprecationMetadataIssueDetailsDataView::GetAllowedSitesDataView(
    mojo::ArrayDataView<mojo::StringDataView>* output) {}


inline void GenericIssueDetailsDataView::GetFrameIdDataView(
    mojo::StringDataView* output) {}
inline void GenericIssueDetailsDataView::GetViolatingNodeAttributeDataView(
    mojo::StringDataView* output) {}


inline void DeprecationIssueDetailsDataView::GetAffectedLocationDataView(
    AffectedLocationDataView* output) {}


inline void InspectorIssueDetailsDataView::GetCookieIssueDetailsDataView(
    CookieIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetMixedContentIssueDetailsDataView(
    MixedContentIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetBlockedByResponseIssueDetailsDataView(
    BlockedByResponseIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetCspIssueDetailsDataView(
    ContentSecurityPolicyIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetSabIssueDetailsDataView(
    SharedArrayBufferIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetHeavyAdIssueDetailsDataView(
    HeavyAdIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetAttributionReportingIssueDetailsDataView(
    AttributionReportingIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetLowTextContrastDetailsDataView(
    LowTextContrastIssueDataView* output) {}
inline void InspectorIssueDetailsDataView::GetFederatedAuthRequestDetailsDataView(
    FederatedAuthRequestIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetBounceTrackingIssueDetailsDataView(
    BounceTrackingIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetCookieDeprecationMetadataIssueDetailsDataView(
    CookieDeprecationMetadataIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetGenericIssueDetailsDataView(
    GenericIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetDeprecationIssueDetailsDataView(
    DeprecationIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetFederatedAuthUserInfoRequestDetailsDataView(
    FederatedAuthUserInfoRequestIssueDetailsDataView* output) {}
inline void InspectorIssueDetailsDataView::GetIssueIdDataView(
    ::mojo_base::mojom::UnguessableTokenDataView* output) {}


inline void InspectorIssueInfoDataView::GetDetailsDataView(
    InspectorIssueDetailsDataView* output) {}



}  // blink::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::InspectorIssueCode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::HeavyAdResolutionStatus> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::HeavyAdReason> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::AttributionReportingIssueType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::MixedContentResolutionStatus> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ContentSecurityPolicyViolationType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::CookieOperation> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::CookieExclusionReason> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::CookieWarningReason> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::SharedArrayBufferIssueType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::FederatedAuthRequestResult> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::FederatedAuthUserInfoRequestResult> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::GenericIssueErrorType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::DeprecationIssueType> {};

} // namespace perfetto

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_DEVTOOLS_INSPECTOR_ISSUE_MOJOM_SHARED_H_