chromium/out/Default/gen/third_party/blink/public/mojom/navigation/navigation_params.mojom-shared.h

// third_party/blink/public/mojom/navigation/navigation_params.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_NAVIGATION_NAVIGATION_PARAMS_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_NAVIGATION_NAVIGATION_PARAMS_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/navigation/navigation_params.mojom-shared-internal.h"
#include "mojo/public/mojom/base/byte_string.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"
#include "mojo/public/mojom/base/values.mojom-shared.h"
#include "services/network/public/mojom/content_security_policy.mojom-shared.h"
#include "services/network/public/mojom/fetch_api.mojom-shared.h"
#include "services/network/public/mojom/source_location.mojom-shared.h"
#include "services/network/public/mojom/storage_access_api.mojom-shared.h"
#include "services/network/public/mojom/trust_tokens.mojom-shared.h"
#include "services/network/public/mojom/url_loader.mojom-shared.h"
#include "services/network/public/mojom/url_request.mojom-shared.h"
#include "services/network/public/mojom/url_response_head.mojom-shared.h"
#include "services/network/public/mojom/web_client_hints_types.mojom-shared.h"
#include "services/network/public/mojom/web_sandbox_flags.mojom-shared.h"
#include "services/viz/public/mojom/compositing/local_surface_id.mojom-shared.h"
#include "third_party/blink/public/mojom/back_forward_cache_not_restored_reasons.mojom-shared.h"
#include "third_party/blink/public/mojom/conversions/conversions.mojom-shared.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame_config.mojom-shared.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/frame_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/view_transition_state.mojom-shared.h"
#include "third_party/blink/public/mojom/lcp_critical_path_predictor/lcp_critical_path_predictor.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/mixed_content.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/referrer.mojom-shared.h"
#include "third_party/blink/public/mojom/messaging/task_attribution_id.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/navigation_api_history_entry_arrays.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/navigation_initiator_activation_and_ad_status.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/navigation_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/prefetched_signed_exchange_info.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/renderer_content_settings.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/system_entropy.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/was_activated_option.mojom-shared.h"
#include "third_party/blink/public/mojom/page/browsing_context_group_info.mojom-shared.h"
#include "third_party/blink/public/mojom/page/page.mojom-shared.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/runtime_feature_state/runtime_feature.mojom-shared.h"
#include "third_party/blink/public/mojom/storage_key/storage_key.mojom-shared.h"
#include "third_party/blink/public/mojom/tokens/tokens.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"


#include "mojo/public/cpp/bindings/native_enum.h"
#include "mojo/public/cpp/bindings/lib/native_struct_serialization.h"
#include "base/component_export.h"




namespace blink::mojom {
class BeginNavigationParamsDataView;

class CommonNavigationParamsDataView;

class NavigationTimingDataView;

class OldPageInfoDataView;

class CommitNavigationParamsDataView;

class PageSwapEventParamsDataView;



}  // blink::mojom

namespace mojo {
namespace internal {

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

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

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

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

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

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

}  // namespace internal
}  // namespace mojo


namespace blinkmojom  // blink::mojom

namespace std {

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

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

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

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

}  // namespace std

namespace mojo {


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal

}  // namespace mojo


namespace blink::mojom {

inline void BeginNavigationParamsDataView::GetInitiatorFrameTokenDataView(
    ::blink::mojom::LocalFrameTokenDataView* output) {}
inline void BeginNavigationParamsDataView::GetHeadersDataView(
    mojo::StringDataView* output) {}
inline void BeginNavigationParamsDataView::GetSearchableFormUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void BeginNavigationParamsDataView::GetSearchableFormEncodingDataView(
    mojo::StringDataView* output) {}
inline void BeginNavigationParamsDataView::GetClientSideRedirectUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void BeginNavigationParamsDataView::GetDevtoolsInitiatorDataView(
    ::mojo_base::mojom::DictionaryValueDataView* output) {}
inline void BeginNavigationParamsDataView::GetTrustTokenParamsDataView(
    ::network::mojom::TrustTokenParamsDataView* output) {}
inline void BeginNavigationParamsDataView::GetImpressionDataView(
    ::blink::mojom::ImpressionDataView* output) {}
inline void BeginNavigationParamsDataView::GetBeforeUnloadStartDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void BeginNavigationParamsDataView::GetBeforeUnloadEndDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}


inline void CommonNavigationParamsDataView::GetUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void CommonNavigationParamsDataView::GetInitiatorOriginDataView(
    ::url::mojom::OriginDataView* output) {}
inline void CommonNavigationParamsDataView::GetInitiatorBaseUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void CommonNavigationParamsDataView::GetReferrerDataView(
    ::blink::mojom::ReferrerDataView* output) {}
inline void CommonNavigationParamsDataView::GetDownloadPolicyDataView(
    ::blink::mojom::NavigationDownloadPolicyDataView* output) {}
inline void CommonNavigationParamsDataView::GetBaseUrlForDataUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void CommonNavigationParamsDataView::GetNavigationStartDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void CommonNavigationParamsDataView::GetMethodDataView(
    mojo::StringDataView* output) {}
inline void CommonNavigationParamsDataView::GetPostDataDataView(
    ::network::mojom::URLRequestBodyDataView* output) {}
inline void CommonNavigationParamsDataView::GetSourceLocationDataView(
    ::network::mojom::SourceLocationDataView* output) {}
inline void CommonNavigationParamsDataView::GetInitiatorOriginTrialFeaturesDataView(
    mojo::ArrayDataView<int32_t>* output) {}
inline void CommonNavigationParamsDataView::GetHrefTranslateDataView(
    mojo::StringDataView* output) {}
inline void CommonNavigationParamsDataView::GetInputStartDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}


inline void NavigationTimingDataView::GetRedirectStartDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void NavigationTimingDataView::GetRedirectEndDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void NavigationTimingDataView::GetFetchStartDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}


inline void OldPageInfoDataView::GetFrameTokenForOldMainFrameDataView(
    ::blink::mojom::LocalFrameTokenDataView* output) {}
inline void OldPageInfoDataView::GetNewLifecycleStateForOldPageDataView(
    ::blink::mojom::PageLifecycleStateDataView* output) {}


inline void CommitNavigationParamsDataView::GetOriginToCommitDataView(
    ::url::mojom::OriginDataView* output) {}
inline void CommitNavigationParamsDataView::GetStorageKeyDataView(
    ::blink::mojom::StorageKeyDataView* output) {}
inline void CommitNavigationParamsDataView::GetRedirectsDataView(
    mojo::ArrayDataView<::url::mojom::UrlDataView>* output) {}
inline void CommitNavigationParamsDataView::GetRedirectResponseDataView(
    mojo::ArrayDataView<::network::mojom::URLResponseHeadDataView>* output) {}
inline void CommitNavigationParamsDataView::GetRedirectInfosDataView(
    mojo::ArrayDataView<::network::mojom::URLRequestRedirectInfoDataView>* output) {}
inline void CommitNavigationParamsDataView::GetPostContentTypeDataView(
    mojo::StringDataView* output) {}
inline void CommitNavigationParamsDataView::GetOriginalUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void CommitNavigationParamsDataView::GetOriginalMethodDataView(
    mojo::StringDataView* output) {}
inline void CommitNavigationParamsDataView::GetPageStateDataView(
    ::mojo_base::mojom::ByteStringDataView* output) {}
inline void CommitNavigationParamsDataView::GetSubframeUniqueNamesDataView(
    mojo::MapDataView<mojo::StringDataView, bool>* output) {}
inline void CommitNavigationParamsDataView::GetNavigationTimingDataView(
    NavigationTimingDataView* output) {}
inline void CommitNavigationParamsDataView::GetNavigationTokenDataView(
    ::mojo_base::mojom::UnguessableTokenDataView* output) {}
inline void CommitNavigationParamsDataView::GetPrefetchedSignedExchangesDataView(
    mojo::ArrayDataView<::blink::mojom::PrefetchedSignedExchangeInfoDataView>* output) {}
inline void CommitNavigationParamsDataView::GetFramePolicyDataView(
    ::blink::mojom::FramePolicyDataView* output) {}
inline void CommitNavigationParamsDataView::GetForceEnabledOriginTrialsDataView(
    mojo::ArrayDataView<mojo::StringDataView>* output) {}
inline void CommitNavigationParamsDataView::GetEnabledClientHintsDataView(
    mojo::ArrayDataView<::network::mojom::WebClientHintsType>* output) {}
inline void CommitNavigationParamsDataView::GetOldPageInfoDataView(
    OldPageInfoDataView* output) {}
inline void CommitNavigationParamsDataView::GetNavigationApiHistoryEntryArraysDataView(
    ::blink::mojom::NavigationApiHistoryEntryArraysDataView* output) {}
inline void CommitNavigationParamsDataView::GetEarlyHintsPreloadedResourcesDataView(
    mojo::ArrayDataView<::url::mojom::UrlDataView>* output) {}
inline void CommitNavigationParamsDataView::GetCommitSentDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void CommitNavigationParamsDataView::GetSrcdocValueDataView(
    mojo::StringDataView* output) {}
inline void CommitNavigationParamsDataView::GetReducedAcceptLanguageDataView(
    mojo::StringDataView* output) {}
inline void CommitNavigationParamsDataView::GetViewTransitionStateDataView(
    ::blink::mojom::ViewTransitionStateDataView* output) {}
inline void CommitNavigationParamsDataView::GetSoftNavigationHeuristicsTaskIdDataView(
    ::blink::mojom::TaskAttributionIdDataView* output) {}
inline void CommitNavigationParamsDataView::GetModifiedRuntimeFeaturesDataView(
    mojo::MapDataView<::blink::mojom::RuntimeFeature, bool>* output) {}
inline void CommitNavigationParamsDataView::GetFencedFramePropertiesDataView(
    ::blink::mojom::FencedFramePropertiesDataView* output) {}
inline void CommitNavigationParamsDataView::GetNotRestoredReasonsDataView(
    ::blink::mojom::BackForwardCacheNotRestoredReasonsDataView* output) {}
inline void CommitNavigationParamsDataView::GetBrowsingContextGroupInfoDataView(
    ::blink::mojom::BrowsingContextGroupInfoDataView* output) {}
inline void CommitNavigationParamsDataView::GetLcppHintDataView(
    ::blink::mojom::LCPCriticalPathPredictorNavigationTimeHintDataView* output) {}
inline void CommitNavigationParamsDataView::GetContentSettingsDataView(
    ::blink::mojom::RendererContentSettingsDataView* output) {}
inline void CommitNavigationParamsDataView::GetCookieDeprecationLabelDataView(
    mojo::StringDataView* output) {}
inline void CommitNavigationParamsDataView::GetLocalSurfaceIdDataView(
    ::viz::mojom::LocalSurfaceIdDataView* output) {}


inline void PageSwapEventParamsDataView::GetUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void PageSwapEventParamsDataView::GetPageStateDataView(
    ::mojo_base::mojom::ByteStringDataView* 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::NavigationType> {};

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_NAVIGATION_NAVIGATION_PARAMS_MOJOM_SHARED_H_