#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_FRAME_FRAME_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_FRAME_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 "third_party/blink/public/mojom/frame/frame.mojom-shared-internal.h"
#include "cc/mojom/browser_controls_state.mojom-shared.h"
#include "cc/mojom/browser_controls_offset_tags_info.mojom-shared.h"
#include "mojo/public/mojom/base/byte_string.mojom-shared.h"
#include "mojo/public/mojom/base/shared_memory.mojom-shared.h"
#include "mojo/public/mojom/base/string16.mojom-shared.h"
#include "mojo/public/mojom/base/text_direction.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/cross_origin_opener_policy.mojom-shared.h"
#include "services/network/public/mojom/fetch_api.mojom-shared.h"
#include "services/network/public/mojom/load_timing_info.mojom-shared.h"
#include "services/network/public/mojom/network_types.mojom-shared.h"
#include "services/network/public/mojom/source_location.mojom-shared.h"
#include "services/network/public/mojom/url_loader_completion_status.mojom-shared.h"
#include "services/network/public/mojom/attribution.mojom-shared.h"
#include "services/viz/public/mojom/compositing/offset_tag.mojom-shared.h"
#include "skia/public/mojom/bitmap.mojom-shared.h"
#include "skia/public/mojom/skcolor.mojom-shared.h"
#include "skia/public/mojom/skcolor4f.mojom-shared.h"
#include "third_party/blink/public/mojom/blob/blob.mojom-shared.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-shared.h"
#include "third_party/blink/public/mojom/choosers/popup_menu.mojom-shared.h"
#include "third_party/blink/public/mojom/close_watcher/close_listener.mojom-shared.h"
#include "third_party/blink/public/mojom/context_menu/context_menu.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-shared.h"
#include "third_party/blink/public/mojom/css/preferred_color_scheme.mojom-shared.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom-shared.h"
#include "third_party/blink/public/mojom/devtools/devtools_agent.mojom-shared.h"
#include "third_party/blink/public/mojom/devtools/inspector_issue.mojom-shared.h"
#include "third_party/blink/public/mojom/drag/drag.mojom-shared.h"
#include "third_party/blink/public/mojom/favicon/favicon_url.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/fetch/fetch_api_request.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/blocked_navigation_types.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/fullscreen.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/media_player_action.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/remote_frame.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/reporting_observer.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/sudden_termination_disabler_type.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/text_autosizer_page_info.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/user_activation_update_types.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/view_transition_state.mojom-shared.h"
#include "third_party/blink/public/mojom/input/focus_type.mojom-shared.h"
#include "third_party/blink/public/mojom/input/scroll_direction.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/referrer.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/keep_alive_handle_factory.mojom-shared.h"
#include "third_party/blink/public/mojom/messaging/delegated_capability.mojom-shared.h"
#include "third_party/blink/public/mojom/messaging/task_attribution_id.mojom-shared.h"
#include "third_party/blink/public/mojom/messaging/transferable_message.mojom-shared.h"
#include "third_party/blink/public/mojom/navigation/navigation_api_history_entry_arrays.mojom-shared.h"
#include "third_party/blink/public/mojom/opengraph/metadata.mojom-shared.h"
#include "third_party/blink/public/mojom/page/draggable_region.mojom-shared.h"
#include "third_party/blink/public/mojom/page/widget.mojom-shared.h"
#include "third_party/blink/public/mojom/scroll/scroll_into_view_params.mojom-shared.h"
#include "third_party/blink/public/mojom/security_context/insecure_request_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/timing/resource_timing.mojom-shared.h"
#include "third_party/blink/public/mojom/tokens/tokens.mojom-shared.h"
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-shared.h"
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-shared.h"
#include "third_party/blink/public/mojom/window_features/window_features.mojom-shared.h"
#include "ui/base/ime/mojom/virtual_keyboard_types.mojom-shared.h"
#include "ui/base/mojom/window_open_disposition.mojom-shared.h"
#include "ui/events/mojom/scroll_granularity.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "ui/gfx/image/mojom/image.mojom-shared.h"
#include "ui/gfx/range/mojom/range.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 "base/component_export.h"
namespace blink::mojom {
class SavableSubframeDataView;
class GetSavableResourceLinksReplyDataView;
class FindInPageResultAXParamsDataView;
class DownloadURLParamsDataView;
class IframeAttributesDataView;
class LegacyTechEventCodeLocationDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::blink::mojom::SavableSubframeDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::GetSavableResourceLinksReplyDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::FindInPageResultAXParamsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::DownloadURLParamsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IframeAttributesDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::LegacyTechEventCodeLocationDataView> { … };
}
}
namespace blinkmojom
namespace std {
template <>
struct hash<::blink::mojom::PluginActionType>
: public mojo::internal::EnumHashImpl<::blink::mojom::PluginActionType> { … };
template <>
struct hash<::blink::mojom::JavaScriptExecutionResultType>
: public mojo::internal::EnumHashImpl<::blink::mojom::JavaScriptExecutionResultType> { … };
template <>
struct hash<::blink::mojom::TraverseCancelledReason>
: public mojo::internal::EnumHashImpl<::blink::mojom::TraverseCancelledReason> { … };
template <>
struct hash<::blink::mojom::ViewTransitionSameOriginOptIn>
: public mojo::internal::EnumHashImpl<::blink::mojom::ViewTransitionSameOriginOptIn> { … };
template <>
struct hash<::blink::mojom::FrameOwnerElementType>
: public mojo::internal::EnumHashImpl<::blink::mojom::FrameOwnerElementType> { … };
template <>
struct hash<::blink::mojom::NavigationApiEntryRestoreReason>
: public mojo::internal::EnumHashImpl<::blink::mojom::NavigationApiEntryRestoreReason> { … };
template <>
struct hash<::blink::mojom::StorageTypeAccessed>
: public mojo::internal::EnumHashImpl<::blink::mojom::StorageTypeAccessed> { … };
template <>
struct hash<::blink::mojom::WindowProxyAccessType>
: public mojo::internal::EnumHashImpl<::blink::mojom::WindowProxyAccessType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::blink::mojom::PluginActionType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::JavaScriptExecutionResultType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::TraverseCancelledReason, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ViewTransitionSameOriginOptIn, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::FrameOwnerElementType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::NavigationApiEntryRestoreReason, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::StorageTypeAccessed, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WindowProxyAccessType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::SavableSubframeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::GetSavableResourceLinksReplyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::FindInPageResultAXParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::DownloadURLParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IframeAttributesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::LegacyTechEventCodeLocationDataView, MaybeConstUserType>;
}
}
namespace blink::mojom {
inline void SavableSubframeDataView::GetOriginalUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void SavableSubframeDataView::GetSubframeTokenDataView(
::blink::mojom::FrameTokenDataView* output) { … }
inline void GetSavableResourceLinksReplyDataView::GetResourcesListDataView(
mojo::ArrayDataView<::url::mojom::UrlDataView>* output) { … }
inline void GetSavableResourceLinksReplyDataView::GetReferrerDataView(
::blink::mojom::ReferrerDataView* output) { … }
inline void GetSavableResourceLinksReplyDataView::GetSubframesDataView(
mojo::ArrayDataView<SavableSubframeDataView>* output) { … }
inline void DownloadURLParamsDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void DownloadURLParamsDataView::GetReferrerDataView(
::blink::mojom::ReferrerDataView* output) { … }
inline void DownloadURLParamsDataView::GetInitiatorOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void DownloadURLParamsDataView::GetSuggestedNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IframeAttributesDataView::GetParsedCspAttributeDataView(
::network::mojom::ContentSecurityPolicyDataView* output) { … }
inline void IframeAttributesDataView::GetIdDataView(
mojo::StringDataView* output) { … }
inline void IframeAttributesDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void IframeAttributesDataView::GetSrcDataView(
mojo::StringDataView* output) { … }
inline void LegacyTechEventCodeLocationDataView::GetFilenameDataView(
mojo::StringDataView* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::PluginActionType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::JavaScriptExecutionResultType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::TraverseCancelledReason> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ViewTransitionSameOriginOptIn> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::FrameOwnerElementType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::NavigationApiEntryRestoreReason> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::StorageTypeAccessed> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WindowProxyAccessType> { … };
}
#endif