#ifndef CONTENT_COMMON_FRAME_MOJOM_SHARED_H_
#define CONTENT_COMMON_FRAME_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 "content/common/frame.mojom-shared-internal.h"
#include "cc/mojom/browser_controls_state.mojom-shared.h"
#include "content/common/frame_messages.mojom-shared.h"
#include "content/common/navigation_client.mojom-shared.h"
#include "content/common/web_ui.mojom-shared.h"
#include "content/public/common/extra_mojo_js_features.mojom-shared.h"
#include "content/public/common/window_container_type.mojom-shared.h"
#include "ipc/constants.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 "skia/public/mojom/skcolor.mojom-shared.h"
#include "services/network/public/mojom/attribution.mojom-shared.h"
#include "services/network/public/mojom/content_security_policy.mojom-shared.h"
#include "services/network/public/mojom/url_loader.mojom-shared.h"
#include "services/network/public/mojom/url_loader_completion_status.mojom-shared.h"
#include "services/network/public/mojom/url_loader_factory.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/service_manager/public/mojom/interface_provider.mojom-shared.h"
#include "services/viz/public/mojom/compositing/surface_id.mojom-shared.h"
#include "third_party/blink/public/mojom/associated_interfaces/associated_interfaces.mojom-shared.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-shared.h"
#include "third_party/blink/public/mojom/browser_interface_broker.mojom-shared.h"
#include "third_party/blink/public/mojom/commit_result/commit_result.mojom-shared.h"
#include "third_party/blink/public/mojom/conversions/conversions.mojom-shared.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom-shared.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame.mojom-shared.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame_config.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/frame_owner_properties.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/frame_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/frame_replication_state.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/policy_container.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/remote_frame.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/tree_scope_type.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/referrer.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/navigation_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/resource_load_info.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/url_loader_factory_bundle.mojom-shared.h"
#include "third_party/blink/public/mojom/messaging/transferable_message.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/navigation_params.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/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/page/prerender_page_param.mojom-shared.h"
#include "third_party/blink/public/mojom/partitioned_popins/partitioned_popin_params.mojom-shared.h"
#include "third_party/blink/public/mojom/picture_in_picture_window_options/picture_in_picture_window_options.mojom-shared.h"
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-shared.h"
#include "third_party/blink/public/mojom/page/widget.mojom-shared.h"
#include "third_party/blink/public/mojom/renderer_preferences.mojom-shared.h"
#include "third_party/blink/public/mojom/service_worker/controller_service_worker.mojom-shared.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_container.mojom-shared.h"
#include "third_party/blink/public/mojom/tokens/tokens.mojom-shared.h"
#include "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-shared.h"
#include "third_party/blink/public/mojom/widget/visual_properties.mojom-shared.h"
#include "third_party/blink/public/mojom/window_features/window_features.mojom-shared.h"
#include "ui/accessibility/mojom/ax_tree_update.mojom-shared.h"
#include "ui/base/mojom/window_open_disposition.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/scheme_host_port.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 content::mojom {
class CreateViewParamsDataView;
class CreateLocalMainFrameParamsDataView;
class CreateRemoteMainFrameParamsDataView;
class CreateFrameWidgetParamsDataView;
class CreateFrameParamsDataView;
class SnapshotAccessibilityTreeParamsDataView;
class CreateNewWindowParamsDataView;
class CreateNewWindowReplyDataView;
class CreateMainFrameUnionDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::content::mojom::CreateViewParamsDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::CreateLocalMainFrameParamsDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::CreateRemoteMainFrameParamsDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::CreateFrameWidgetParamsDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::CreateFrameParamsDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::SnapshotAccessibilityTreeParamsDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::CreateNewWindowParamsDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::CreateNewWindowReplyDataView> { … };
template <>
struct MojomTypeTraits<::content::mojom::CreateMainFrameUnionDataView> { … };
}
}
namespace contentmojom
namespace std {
template <>
struct hash<::content::mojom::ViewWidgetType>
: public mojo::internal::EnumHashImpl<::content::mojom::ViewWidgetType> { … };
template <>
struct hash<::content::mojom::ChildFrameOwnerElementType>
: public mojo::internal::EnumHashImpl<::content::mojom::ChildFrameOwnerElementType> { … };
template <>
struct hash<::content::mojom::FrameDeleteIntention>
: public mojo::internal::EnumHashImpl<::content::mojom::FrameDeleteIntention> { … };
template <>
struct hash<::content::mojom::CreateNewWindowStatus>
: public mojo::internal::EnumHashImpl<::content::mojom::CreateNewWindowStatus> { … };
}
namespace mojo {
namespace internal {
Serializer< ::content::mojom::ViewWidgetType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::ChildFrameOwnerElementType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::FrameDeleteIntention, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateNewWindowStatus, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateViewParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateLocalMainFrameParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateRemoteMainFrameParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateFrameWidgetParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateFrameParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::SnapshotAccessibilityTreeParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateNewWindowParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateNewWindowReplyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content::mojom::CreateMainFrameUnionDataView, MaybeConstUserType>;
}
}
namespace content::mojom {
inline void CreateViewParamsDataView::GetRendererPreferencesDataView(
::blink::mojom::RendererPreferencesDataView* output) { … }
inline void CreateViewParamsDataView::GetWebPreferencesDataView(
::blink::mojom::WebPreferencesDataView* output) { … }
inline void CreateViewParamsDataView::GetSessionStorageNamespaceIdDataView(
mojo::StringDataView* output) { … }
inline void CreateViewParamsDataView::GetOpenerFrameTokenDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void CreateViewParamsDataView::GetReplicationStateDataView(
::blink::mojom::FrameReplicationStateDataView* output) { … }
inline void CreateViewParamsDataView::GetDevtoolsMainFrameTokenDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void CreateViewParamsDataView::GetMainFrameDataView(
CreateMainFrameUnionDataView* output) { … }
inline void CreateViewParamsDataView::GetPrerenderParamDataView(
::blink::mojom::PrerenderParamDataView* output) { … }
inline void CreateViewParamsDataView::GetOutermostOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void CreateViewParamsDataView::GetBaseBackgroundColorDataView(
::skia::mojom::SkColorDataView* output) { … }
inline void CreateViewParamsDataView::GetColorProviderColorsDataView(
::blink::mojom::ColorProviderColorMapsDataView* output) { … }
inline void CreateViewParamsDataView::GetBrowsingContextGroupInfoDataView(
::blink::mojom::BrowsingContextGroupInfoDataView* output) { … }
inline void CreateViewParamsDataView::GetPartitionedPopinParamsDataView(
::blink::mojom::PartitionedPopinParamsDataView* output) { … }
inline void CreateLocalMainFrameParamsDataView::GetFrameTokenDataView(
::blink::mojom::LocalFrameTokenDataView* output) { … }
inline void CreateLocalMainFrameParamsDataView::GetDocumentTokenDataView(
::blink::mojom::DocumentTokenDataView* output) { … }
inline void CreateLocalMainFrameParamsDataView::GetPolicyContainerDataView(
::blink::mojom::PolicyContainerDataView* output) { … }
inline void CreateLocalMainFrameParamsDataView::GetWidgetParamsDataView(
CreateFrameWidgetParamsDataView* output) { … }
inline void CreateLocalMainFrameParamsDataView::GetSubresourceLoaderFactoriesDataView(
::blink::mojom::URLLoaderFactoryBundleDataView* output) { … }
inline void CreateLocalMainFrameParamsDataView::GetPreviousFrameTokenDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void CreateRemoteMainFrameParamsDataView::GetTokenDataView(
::blink::mojom::RemoteFrameTokenDataView* output) { … }
inline void CreateRemoteMainFrameParamsDataView::GetFrameInterfacesDataView(
::blink::mojom::RemoteFrameInterfacesFromBrowserDataView* output) { … }
inline void CreateRemoteMainFrameParamsDataView::GetMainFrameInterfacesDataView(
::blink::mojom::RemoteMainFrameInterfacesDataView* output) { … }
inline void CreateFrameWidgetParamsDataView::GetVisualPropertiesDataView(
::blink::mojom::VisualPropertiesDataView* output) { … }
inline void CreateFrameWidgetParamsDataView::GetPreviousFrameTokenForCompositorReuseDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetFrameTokenDataView(
::blink::mojom::LocalFrameTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetPreviousFrameTokenDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetOpenerFrameTokenDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetParentFrameTokenDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetPreviousSiblingFrameTokenDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetReplicationStateDataView(
::blink::mojom::FrameReplicationStateDataView* output) { … }
inline void CreateFrameParamsDataView::GetDevtoolsFrameTokenDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetFrameOwnerPropertiesDataView(
::blink::mojom::FrameOwnerPropertiesDataView* output) { … }
inline void CreateFrameParamsDataView::GetWidgetParamsDataView(
CreateFrameWidgetParamsDataView* output) { … }
inline void CreateFrameParamsDataView::GetDocumentTokenDataView(
::blink::mojom::DocumentTokenDataView* output) { … }
inline void CreateFrameParamsDataView::GetPolicyContainerDataView(
::blink::mojom::PolicyContainerDataView* output) { … }
inline void SnapshotAccessibilityTreeParamsDataView::GetTimeoutDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetSessionStorageNamespaceIdDataView(
mojo::StringDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetCloneFromSessionStorageNamespaceIdDataView(
mojo::StringDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetFrameNameDataView(
mojo::StringDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetFormSubmissionPostDataDataView(
::network::mojom::URLRequestBodyDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetFormSubmissionPostContentTypeDataView(
mojo::StringDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetTargetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetReferrerDataView(
::blink::mojom::ReferrerDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetFeaturesDataView(
::blink::mojom::WindowFeaturesDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetImpressionDataView(
::blink::mojom::ImpressionDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetDownloadPolicyDataView(
::blink::mojom::NavigationDownloadPolicyDataView* output) { … }
inline void CreateNewWindowParamsDataView::GetPipOptionsDataView(
::blink::mojom::PictureInPictureWindowOptionsDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetMainFrameTokenDataView(
::blink::mojom::LocalFrameTokenDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetWidgetParamsDataView(
CreateFrameWidgetParamsDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetClonedSessionStorageNamespaceIdDataView(
mojo::StringDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetDevtoolsMainFrameTokenDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetDocumentTokenDataView(
::blink::mojom::DocumentTokenDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetPolicyContainerDataView(
::blink::mojom::PolicyContainerDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetBrowsingContextGroupInfoDataView(
::blink::mojom::BrowsingContextGroupInfoDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetColorProviderColorsDataView(
::blink::mojom::ColorProviderColorMapsDataView* output) { … }
inline void CreateNewWindowReplyDataView::GetPartitionedPopinParamsDataView(
::blink::mojom::PartitionedPopinParamsDataView* output) { … }
inline void CreateMainFrameUnionDataView::GetLocalParamsDataView(
CreateLocalMainFrameParamsDataView* output) const { … }
inline void CreateMainFrameUnionDataView::GetRemoteParamsDataView(
CreateRemoteMainFrameParamsDataView* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) TraceFormatTraits<::content::mojom::ViewWidgetType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) TraceFormatTraits<::content::mojom::ChildFrameOwnerElementType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) TraceFormatTraits<::content::mojom::FrameDeleteIntention> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) TraceFormatTraits<::content::mojom::CreateNewWindowStatus> { … };
}
#endif