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

// third_party/blink/public/mojom/frame/frame.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_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;



}  // blink::mojom

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 internal
}  // namespace mojo


namespace blinkmojom  // blink::mojom

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 std

namespace mojo {


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal

}  // namespace mojo


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) {}



}  // 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::PluginActionType> {};

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

namespace perfetto {

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

} // namespace perfetto

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_FRAME_FRAME_MOJOM_SHARED_H_