#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;
}
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 blinkmojom
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 mojo {
namespace internal {
Serializer< ::blink::mojom::NavigationType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::NavigationTypeForNavigationApi, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ForceHistoryPush, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ParentResourceTimingAccess, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::BeginNavigationParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::CommonNavigationParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::NavigationTimingDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::OldPageInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::CommitNavigationParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::PageSwapEventParamsDataView, MaybeConstUserType>;
}
}
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) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::NavigationType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::NavigationTypeForNavigationApi> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ForceHistoryPush> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ParentResourceTimingAccess> { … };
}
#endif