#ifndef SERVICES_NETWORK_PUBLIC_MOJOM_URL_REQUEST_MOJOM_SHARED_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_URL_REQUEST_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 "services/network/public/mojom/url_request.mojom-shared-internal.h"
#include "mojo/public/mojom/base/big_buffer.mojom-shared.h"
#include "mojo/public/mojom/base/file_path.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"
#include "services/network/public/mojom/attribution.mojom-shared.h"
#include "services/network/public/mojom/url_loader_network_service_observer.mojom-shared.h"
#include "services/network/public/mojom/client_security_state.mojom-shared.h"
#include "services/network/public/mojom/cors.mojom-shared.h"
#include "services/network/public/mojom/cookie_access_observer.mojom-shared.h"
#include "services/network/public/mojom/cookie_manager.mojom-shared.h"
#include "services/network/public/mojom/chunked_data_pipe_getter.mojom-shared.h"
#include "services/network/public/mojom/data_pipe_getter.mojom-shared.h"
#include "services/network/public/mojom/devtools_observer.mojom-shared.h"
#include "services/network/public/mojom/fetch_api.mojom-shared.h"
#include "services/network/public/mojom/http_raw_headers.mojom-shared.h"
#include "services/network/public/mojom/http_request_headers.mojom-shared.h"
#include "services/network/public/mojom/ip_address_space.mojom-shared.h"
#include "services/network/public/mojom/isolation_info.mojom-shared.h"
#include "services/network/public/mojom/network_param.mojom-shared.h"
#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "services/network/public/mojom/request_priority.mojom-shared.h"
#include "services/network/public/mojom/shared_dictionary_access_observer.mojom-shared.h"
#include "services/network/public/mojom/site_for_cookies.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/trust_token_access_observer.mojom-shared.h"
#include "services/network/public/mojom/url_response_head.mojom-shared.h"
#include "services/network/public/mojom/web_bundle_handle.mojom-shared.h"
#include "services/network/public/mojom/accept_ch_frame_observer.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"
namespace network::mojom {
class TrustedUrlRequestParamsDataView;
class WebBundleTokenParamsDataView;
class URLRequestDataView;
class URLRequestBodyDataView;
class DataElementBytesDataView;
class DataElementFileDataView;
class DataElementDataPipeDataView;
class DataElementChunkedDataPipeDataView;
class DataElementDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::network::mojom::TrustedUrlRequestParamsDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::WebBundleTokenParamsDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::URLRequestDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::URLRequestBodyDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::DataElementBytesDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::DataElementFileDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::DataElementDataPipeDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::DataElementChunkedDataPipeDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::DataElementDataView> { … };
}
}
namespace network::mojom {
enum class SourceType : int32_t { … };
std::ostream& operator<<(std::ostream& os, SourceType value);
inline bool IsKnownEnumValue(SourceType value) { … }
class TrustedUrlRequestParamsDataView { … };
class WebBundleTokenParamsDataView { … };
class URLRequestDataView { … };
class URLRequestBodyDataView { … };
class DataElementBytesDataView { … };
class DataElementFileDataView { … };
class DataElementDataPipeDataView { … };
class DataElementChunkedDataPipeDataView { … };
class DataElementDataView { … };
}
namespace std {
template <>
struct hash<::network::mojom::SourceType>
: public mojo::internal::EnumHashImpl<::network::mojom::SourceType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::network::mojom::SourceType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::TrustedUrlRequestParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::WebBundleTokenParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::URLRequestDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::URLRequestBodyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::DataElementBytesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::DataElementFileDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::DataElementDataPipeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::DataElementChunkedDataPipeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::DataElementDataView, MaybeConstUserType>;
}
}
namespace network::mojom {
inline void TrustedUrlRequestParamsDataView::GetIsolationInfoDataView(
::network::mojom::IsolationInfoDataView* output) { … }
inline void TrustedUrlRequestParamsDataView::GetClientSecurityStateDataView(
::network::mojom::ClientSecurityStateDataView* output) { … }
inline void WebBundleTokenParamsDataView::GetBundleUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void WebBundleTokenParamsDataView::GetTokenDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void URLRequestDataView::GetMethodDataView(
mojo::StringDataView* output) { … }
inline void URLRequestDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void URLRequestDataView::GetSiteForCookiesDataView(
::network::mojom::SiteForCookiesDataView* output) { … }
inline void URLRequestDataView::GetRequestInitiatorDataView(
::url::mojom::OriginDataView* output) { … }
inline void URLRequestDataView::GetNavigationRedirectChainDataView(
mojo::ArrayDataView<::url::mojom::UrlDataView>* output) { … }
inline void URLRequestDataView::GetIsolatedWorldOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void URLRequestDataView::GetReferrerDataView(
::url::mojom::UrlDataView* output) { … }
inline void URLRequestDataView::GetHeadersDataView(
::network::mojom::HttpRequestHeadersDataView* output) { … }
inline void URLRequestDataView::GetCorsExemptHeadersDataView(
::network::mojom::HttpRequestHeadersDataView* output) { … }
inline void URLRequestDataView::GetFetchIntegrityDataView(
mojo::StringDataView* output) { … }
inline void URLRequestDataView::GetRequestBodyDataView(
URLRequestBodyDataView* output) { … }
inline void URLRequestDataView::GetThrottlingProfileIdDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void URLRequestDataView::GetFetchWindowIdDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void URLRequestDataView::GetDevtoolsRequestIdDataView(
mojo::StringDataView* output) { … }
inline void URLRequestDataView::GetDevtoolsStackIdDataView(
mojo::StringDataView* output) { … }
inline void URLRequestDataView::GetTrustedParamsDataView(
TrustedUrlRequestParamsDataView* output) { … }
inline void URLRequestDataView::GetRecursivePrefetchTokenDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void URLRequestDataView::GetTrustTokenParamsDataView(
::network::mojom::TrustTokenParamsDataView* output) { … }
inline void URLRequestDataView::GetWebBundleTokenParamsDataView(
WebBundleTokenParamsDataView* output) { … }
inline void URLRequestDataView::GetDevtoolsAcceptedStreamTypesDataView(
mojo::ArrayDataView<SourceType>* output) { … }
inline void URLRequestDataView::GetNetLogCreateInfoDataView(
::network::mojom::NetLogSourceDataView* output) { … }
inline void URLRequestDataView::GetNetLogReferenceInfoDataView(
::network::mojom::NetLogSourceDataView* output) { … }
inline void URLRequestDataView::GetAttributionReportingSrcTokenDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void URLRequestBodyDataView::GetElementsDataView(
mojo::ArrayDataView<DataElementDataView>* output) { … }
inline void DataElementBytesDataView::GetDataDataView(
::mojo_base::mojom::BigBufferDataView* output) { … }
inline void DataElementFileDataView::GetPathDataView(
::mojo_base::mojom::FilePathDataView* output) { … }
inline void DataElementFileDataView::GetExpectedModificationTimeDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void DataElementDataView::GetBytesDataView(
DataElementBytesDataView* output) const { … }
inline void DataElementDataView::GetFileDataView(
DataElementFileDataView* output) const { … }
inline void DataElementDataView::GetDataPipeDataView(
DataElementDataPipeDataView* output) const { … }
inline void DataElementDataView::GetChunkedDataPipeDataView(
DataElementChunkedDataPipeDataView* output) const { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::network::mojom::SourceType> { … };
}
#endif