#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_FRAME_FRAME_MOJOM_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_FRAME_FRAME_MOJOM_H_
#include <stdint.h>
#include <limits>
#include <optional>
#include <type_traits>
#include <utility>
#include "base/types/cxx23_to_underlying.h"
#include "mojo/public/cpp/bindings/clone_traits.h"
#include "mojo/public/cpp/bindings/equals_traits.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "mojo/public/cpp/bindings/union_traits.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-features.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-forward.h"
#include "cc/mojom/browser_controls_state.mojom.h"
#include "cc/mojom/browser_controls_offset_tags_info.mojom.h"
#include "mojo/public/mojom/base/byte_string.mojom.h"
#include "mojo/public/mojom/base/shared_memory.mojom.h"
#include "mojo/public/mojom/base/string16.mojom.h"
#include "mojo/public/mojom/base/text_direction.mojom.h"
#include "mojo/public/mojom/base/time.mojom.h"
#include "mojo/public/mojom/base/unguessable_token.mojom.h"
#include "mojo/public/mojom/base/values.mojom.h"
#include "services/network/public/mojom/content_security_policy.mojom.h"
#include "services/network/public/mojom/cross_origin_opener_policy.mojom-forward.h"
#include "services/network/public/mojom/fetch_api.mojom-forward.h"
#include "services/network/public/mojom/load_timing_info.mojom.h"
#include "services/network/public/mojom/network_types.mojom.h"
#include "services/network/public/mojom/source_location.mojom-forward.h"
#include "services/network/public/mojom/url_loader_completion_status.mojom.h"
#include "services/network/public/mojom/attribution.mojom-forward.h"
#include "services/viz/public/mojom/compositing/offset_tag.mojom-forward.h"
#include "skia/public/mojom/bitmap.mojom.h"
#include "skia/public/mojom/skcolor.mojom.h"
#include "skia/public/mojom/skcolor4f.mojom.h"
#include "third_party/blink/public/mojom/blob/blob.mojom-forward.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-forward.h"
#include "third_party/blink/public/mojom/choosers/popup_menu.mojom-forward.h"
#include "third_party/blink/public/mojom/close_watcher/close_listener.mojom-forward.h"
#include "third_party/blink/public/mojom/context_menu/context_menu.mojom.h"
#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-forward.h"
#include "third_party/blink/public/mojom/css/preferred_color_scheme.mojom-forward.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom-forward.h"
#include "third_party/blink/public/mojom/devtools/devtools_agent.mojom-forward.h"
#include "third_party/blink/public/mojom/devtools/inspector_issue.mojom-forward.h"
#include "third_party/blink/public/mojom/drag/drag.mojom.h"
#include "third_party/blink/public/mojom/favicon/favicon_url.mojom-forward.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame.mojom-forward.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame_config.mojom.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/blocked_navigation_types.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/frame_owner_properties.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/frame_policy.mojom.h"
#include "third_party/blink/public/mojom/frame/frame_replication_state.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/fullscreen.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/media_player_action.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/remote_frame.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/reporting_observer.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/sudden_termination_disabler_type.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/text_autosizer_page_info.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/user_activation_update_types.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/view_transition_state.mojom.h"
#include "third_party/blink/public/mojom/input/focus_type.mojom-forward.h"
#include "third_party/blink/public/mojom/input/scroll_direction.mojom-forward.h"
#include "third_party/blink/public/mojom/loader/referrer.mojom.h"
#include "third_party/blink/public/mojom/loader/keep_alive_handle_factory.mojom-forward.h"
#include "third_party/blink/public/mojom/messaging/delegated_capability.mojom-forward.h"
#include "third_party/blink/public/mojom/messaging/task_attribution_id.mojom.h"
#include "third_party/blink/public/mojom/messaging/transferable_message.mojom.h"
#include "third_party/blink/public/mojom/navigation/navigation_api_history_entry_arrays.mojom-forward.h"
#include "third_party/blink/public/mojom/opengraph/metadata.mojom-forward.h"
#include "third_party/blink/public/mojom/page/draggable_region.mojom-forward.h"
#include "third_party/blink/public/mojom/page/widget.mojom-forward.h"
#include "third_party/blink/public/mojom/scroll/scroll_into_view_params.mojom-forward.h"
#include "third_party/blink/public/mojom/security_context/insecure_request_policy.mojom-forward.h"
#include "third_party/blink/public/mojom/timing/resource_timing.mojom-forward.h"
#include "third_party/blink/public/mojom/tokens/tokens.mojom.h"
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-forward.h"
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-forward.h"
#include "third_party/blink/public/mojom/window_features/window_features.mojom-forward.h"
#include "ui/base/ime/mojom/virtual_keyboard_types.mojom-forward.h"
#include "ui/base/mojom/window_open_disposition.mojom.h"
#include "ui/events/mojom/scroll_granularity.mojom.h"
#include "ui/gfx/geometry/mojom/geometry.mojom.h"
#include "ui/gfx/image/mojom/image.mojom-forward.h"
#include "ui/gfx/range/mojom/range.mojom.h"
#include "url/mojom/origin.mojom.h"
#include "url/mojom/url.mojom.h"
#include <string>
#include <vector>
#include "mojo/public/cpp/bindings/lib/control_message_handler.h"
#include "mojo/public/cpp/bindings/lib/message_size_estimator.h"
#include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h"
#include "third_party/blink/public/common/frame/frame_owner_element_type_mojom_traits.h"
#include "third_party/blink/public/common/common_export.h"
namespace blink::mojom {
class LocalFrameHostProxy;
template <typename ImplRefTraits>
class LocalFrameHostStub;
class LocalFrameHostRequestValidator;
class LocalFrameHostResponseValidator;
class BLINK_COMMON_EXPORT LocalFrameHost
: public LocalFrameHostInterfaceBase { … };
class NonAssociatedLocalFrameHostProxy;
template <typename ImplRefTraits>
class NonAssociatedLocalFrameHostStub;
class NonAssociatedLocalFrameHostRequestValidator;
class BLINK_COMMON_EXPORT NonAssociatedLocalFrameHost
: public NonAssociatedLocalFrameHostInterfaceBase { … };
class LocalFrameProxy;
template <typename ImplRefTraits>
class LocalFrameStub;
class LocalFrameRequestValidator;
class LocalFrameResponseValidator;
class BLINK_COMMON_EXPORT LocalFrame
: public LocalFrameInterfaceBase { … };
class LocalMainFrameProxy;
template <typename ImplRefTraits>
class LocalMainFrameStub;
class LocalMainFrameRequestValidator;
class LocalMainFrameResponseValidator;
class BLINK_COMMON_EXPORT LocalMainFrame
: public LocalMainFrameInterfaceBase { … };
class LocalMainFrameHostProxy;
template <typename ImplRefTraits>
class LocalMainFrameHostStub;
class LocalMainFrameHostRequestValidator;
class LocalMainFrameHostResponseValidator;
class BLINK_COMMON_EXPORT LocalMainFrameHost
: public LocalMainFrameHostInterfaceBase { … };
class BLINK_COMMON_EXPORT LocalFrameHostProxy
: public LocalFrameHost { … };
class BLINK_COMMON_EXPORT NonAssociatedLocalFrameHostProxy
: public NonAssociatedLocalFrameHost { … };
class BLINK_COMMON_EXPORT LocalFrameProxy
: public LocalFrame { … };
class BLINK_COMMON_EXPORT LocalMainFrameProxy
: public LocalMainFrame { … };
class BLINK_COMMON_EXPORT LocalMainFrameHostProxy
: public LocalMainFrameHost { … };
class BLINK_COMMON_EXPORT LocalFrameHostStubDispatch { … };
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<LocalFrameHost>>
class LocalFrameHostStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
LocalFrameHostStub() = default;
~LocalFrameHostStub() override = default;
void set_sink(ImplPointerType sink) { … }
ImplPointerType& sink() { … }
bool Accept(mojo::Message* message) override { … }
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { … }
private:
ImplPointerType sink_;
};
class BLINK_COMMON_EXPORT NonAssociatedLocalFrameHostStubDispatch { … };
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<NonAssociatedLocalFrameHost>>
class NonAssociatedLocalFrameHostStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
NonAssociatedLocalFrameHostStub() = default;
~NonAssociatedLocalFrameHostStub() override = default;
void set_sink(ImplPointerType sink) { … }
ImplPointerType& sink() { … }
bool Accept(mojo::Message* message) override { … }
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { … }
private:
ImplPointerType sink_;
};
class BLINK_COMMON_EXPORT LocalFrameStubDispatch { … };
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<LocalFrame>>
class LocalFrameStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
LocalFrameStub() = default;
~LocalFrameStub() override = default;
void set_sink(ImplPointerType sink) { … }
ImplPointerType& sink() { … }
bool Accept(mojo::Message* message) override { … }
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { … }
private:
ImplPointerType sink_;
};
class BLINK_COMMON_EXPORT LocalMainFrameStubDispatch { … };
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<LocalMainFrame>>
class LocalMainFrameStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
LocalMainFrameStub() = default;
~LocalMainFrameStub() override = default;
void set_sink(ImplPointerType sink) { … }
ImplPointerType& sink() { … }
bool Accept(mojo::Message* message) override { … }
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { … }
private:
ImplPointerType sink_;
};
class BLINK_COMMON_EXPORT LocalMainFrameHostStubDispatch { … };
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<LocalMainFrameHost>>
class LocalMainFrameHostStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
LocalMainFrameHostStub() = default;
~LocalMainFrameHostStub() override = default;
void set_sink(ImplPointerType sink) { … }
ImplPointerType& sink() { … }
bool Accept(mojo::Message* message) override { … }
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { … }
private:
ImplPointerType sink_;
};
class BLINK_COMMON_EXPORT LocalFrameHostRequestValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT NonAssociatedLocalFrameHostRequestValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LocalFrameRequestValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LocalMainFrameRequestValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LocalMainFrameHostRequestValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LocalFrameHostResponseValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LocalFrameResponseValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LocalMainFrameResponseValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LocalMainFrameHostResponseValidator : public mojo::MessageReceiver { … };
class BLINK_COMMON_EXPORT LegacyTechEventCodeLocation { … };
template <typename T, LegacyTechEventCodeLocation::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, LegacyTechEventCodeLocation::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, LegacyTechEventCodeLocation::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, LegacyTechEventCodeLocation::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class BLINK_COMMON_EXPORT SavableSubframe { … };
template <typename T, SavableSubframe::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, SavableSubframe::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, SavableSubframe::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, SavableSubframe::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class BLINK_COMMON_EXPORT GetSavableResourceLinksReply { … };
template <typename T, GetSavableResourceLinksReply::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, GetSavableResourceLinksReply::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, GetSavableResourceLinksReply::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, GetSavableResourceLinksReply::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class BLINK_COMMON_EXPORT FindInPageResultAXParams { … };
template <typename T, FindInPageResultAXParams::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, FindInPageResultAXParams::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, FindInPageResultAXParams::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, FindInPageResultAXParams::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class BLINK_COMMON_EXPORT DownloadURLParams { … };
template <typename T, DownloadURLParams::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, DownloadURLParams::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, DownloadURLParams::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, DownloadURLParams::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class BLINK_COMMON_EXPORT IframeAttributes { … };
template <typename T, IframeAttributes::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, IframeAttributes::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, IframeAttributes::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, IframeAttributes::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
SavableSubframePtr SavableSubframe::Clone() const { … }
template <typename T, SavableSubframe::EnableIfSame<T>*>
bool SavableSubframe::Equals(const T& other_struct) const { … }
template <typename T, SavableSubframe::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
GetSavableResourceLinksReplyPtr GetSavableResourceLinksReply::Clone() const { … }
template <typename T, GetSavableResourceLinksReply::EnableIfSame<T>*>
bool GetSavableResourceLinksReply::Equals(const T& other_struct) const { … }
template <typename T, GetSavableResourceLinksReply::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
FindInPageResultAXParamsPtr FindInPageResultAXParams::Clone() const { … }
template <typename T, FindInPageResultAXParams::EnableIfSame<T>*>
bool FindInPageResultAXParams::Equals(const T& other_struct) const { … }
template <typename T, FindInPageResultAXParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
DownloadURLParamsPtr DownloadURLParams::Clone() const { … }
template <typename T, DownloadURLParams::EnableIfSame<T>*>
bool DownloadURLParams::Equals(const T& other_struct) const { … }
template <typename T, DownloadURLParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
IframeAttributesPtr IframeAttributes::Clone() const { … }
template <typename T, IframeAttributes::EnableIfSame<T>*>
bool IframeAttributes::Equals(const T& other_struct) const { … }
template <typename T, IframeAttributes::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
LegacyTechEventCodeLocationPtr LegacyTechEventCodeLocation::Clone() const { … }
template <typename T, LegacyTechEventCodeLocation::EnableIfSame<T>*>
bool LegacyTechEventCodeLocation::Equals(const T& other_struct) const { … }
template <typename T, LegacyTechEventCodeLocation::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
}
namespace mojo {
template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::SavableSubframe::DataView,
::blink::mojom::SavableSubframePtr> { … };
template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::GetSavableResourceLinksReply::DataView,
::blink::mojom::GetSavableResourceLinksReplyPtr> { … };
template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::FindInPageResultAXParams::DataView,
::blink::mojom::FindInPageResultAXParamsPtr> { … };
template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::DownloadURLParams::DataView,
::blink::mojom::DownloadURLParamsPtr> { … };
template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::IframeAttributes::DataView,
::blink::mojom::IframeAttributesPtr> { … };
template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::LegacyTechEventCodeLocation::DataView,
::blink::mojom::LegacyTechEventCodeLocationPtr> { … };
}
#endif