#ifndef CONTENT_COMMON_NAVIGATION_CLIENT_MOJOM_H_
#define CONTENT_COMMON_NAVIGATION_CLIENT_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 "content/common/navigation_client.mojom-features.h"
#include "content/common/navigation_client.mojom-shared.h"
#include "content/common/navigation_client.mojom-forward.h"
#include "content/common/frame_messages.mojom-forward.h"
#include "content/public/common/alternative_error_page_override_info.mojom-forward.h"
#include "mojo/public/mojom/base/time.mojom.h"
#include "mojo/public/mojom/base/unguessable_token.mojom.h"
#include "mojo/public/mojom/base/uuid.mojom.h"
#include "services/network/public/mojom/network_param.mojom.h"
#include "services/network/public/mojom/restricted_cookie_manager.mojom-forward.h"
#include "services/network/public/mojom/url_loader.mojom-forward.h"
#include "services/network/public/mojom/url_loader_factory.mojom-forward.h"
#include "services/network/public/mojom/url_response_head.mojom-forward.h"
#include "third_party/blink/public/mojom/commit_result/commit_result.mojom-forward.h"
#include "third_party/blink/public/mojom/dom_storage/storage_area.mojom-forward.h"
#include "third_party/blink/public/mojom/frame/policy_container.mojom-forward.h"
#include "third_party/blink/public/mojom/loader/code_cache.mojom-forward.h"
#include "third_party/blink/public/mojom/loader/referrer.mojom.h"
#include "third_party/blink/public/mojom/loader/fetch_later.mojom-forward.h"
#include "third_party/blink/public/mojom/loader/same_document_navigation_type.mojom-forward.h"
#include "third_party/blink/public/mojom/loader/transferrable_url_loader.mojom-forward.h"
#include "third_party/blink/public/mojom/loader/url_loader_factory_bundle.mojom.h"
#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-forward.h"
#include "third_party/blink/public/mojom/permissions_policy/document_policy_feature.mojom.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom-forward.h"
#include "third_party/blink/public/mojom/permissions_policy/policy_value.mojom.h"
#include "third_party/blink/public/mojom/security_context/insecure_request_policy.mojom-forward.h"
#include "third_party/blink/public/mojom/service_worker/controller_service_worker.mojom-forward.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_container.mojom-forward.h"
#include "third_party/blink/public/mojom/tokens/tokens.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 "mojo/public/cpp/bindings/lib/native_enum_serialization.h"
#include "mojo/public/cpp/bindings/lib/native_struct_serialization.h"
#include "content/common/frame_owner_element_type_mojom_traits.h"
#include "content/common/input/input_injector_mojom_traits.h"
#include "content/common/input/synthetic_pinch_gesture_params.h"
#include "content/common/input/synthetic_pointer_action_list_params.h"
#include "content/common/input/synthetic_smooth_drag_gesture_params.h"
#include "content/common/input/synthetic_smooth_scroll_gesture_params.h"
#include "content/common/input/synthetic_tap_gesture_params.h"
#include "content/common/navigation_gesture.h"
#include "content/public/common/common_param_traits.h"
#include "net/base/network_change_notifier.h"
#include "third_party/blink/public/common/navigation/impression.h"
#include "third_party/blink/public/common/page_state/page_state.h"
#include "third_party/blink/public/common/widget/visual_properties.h"
#include "ui/base/page_transition_types.h"
#include "ui/events/types/scroll_types.h"
#include "ui/native_theme/native_theme.h"
#include "content/common/content_export.h"
namespace content::mojom {
class NavigationClientProxy;
template <typename ImplRefTraits>
class NavigationClientStub;
class NavigationClientRequestValidator;
class NavigationClientResponseValidator;
class CONTENT_EXPORT NavigationClient
: public NavigationClientInterfaceBase { … };
class CONTENT_EXPORT NavigationClientProxy
: public NavigationClient { … };
class CONTENT_EXPORT NavigationClientStubDispatch { … };
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<NavigationClient>>
class NavigationClientStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
NavigationClientStub() = default;
~NavigationClientStub() 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 CONTENT_EXPORT NavigationClientRequestValidator : public mojo::MessageReceiver { … };
class CONTENT_EXPORT NavigationClientResponseValidator : public mojo::MessageReceiver { … };
class CONTENT_EXPORT DidCommitProvisionalLoadParams { … };
template <typename T, DidCommitProvisionalLoadParams::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, DidCommitProvisionalLoadParams::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, DidCommitProvisionalLoadParams::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, DidCommitProvisionalLoadParams::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class CONTENT_EXPORT DidCommitSameDocumentNavigationParams { … };
template <typename T, DidCommitSameDocumentNavigationParams::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, DidCommitSameDocumentNavigationParams::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, DidCommitSameDocumentNavigationParams::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, DidCommitSameDocumentNavigationParams::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class CONTENT_EXPORT CookieManagerInfo { … };
template <typename T, CookieManagerInfo::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, CookieManagerInfo::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, CookieManagerInfo::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, CookieManagerInfo::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class CONTENT_EXPORT StorageInfo { … };
template <typename T, StorageInfo::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, StorageInfo::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, StorageInfo::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, StorageInfo::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
DidCommitProvisionalLoadParamsPtr DidCommitProvisionalLoadParams::Clone() const { … }
template <typename T, DidCommitProvisionalLoadParams::EnableIfSame<T>*>
bool DidCommitProvisionalLoadParams::Equals(const T& other_struct) const { … }
template <typename T, DidCommitProvisionalLoadParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
DidCommitSameDocumentNavigationParamsPtr DidCommitSameDocumentNavigationParams::Clone() const { … }
template <typename T, DidCommitSameDocumentNavigationParams::EnableIfSame<T>*>
bool DidCommitSameDocumentNavigationParams::Equals(const T& other_struct) const { … }
template <typename T, DidCommitSameDocumentNavigationParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
CookieManagerInfoPtr CookieManagerInfo::Clone() const { … }
template <typename T, CookieManagerInfo::EnableIfSame<T>*>
bool CookieManagerInfo::Equals(const T& other_struct) const { … }
template <typename T, CookieManagerInfo::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
StorageInfoPtr StorageInfo::Clone() const { … }
template <typename T, StorageInfo::EnableIfSame<T>*>
bool StorageInfo::Equals(const T& other_struct) const { … }
template <typename T, StorageInfo::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
}
namespace mojo {
template <>
struct CONTENT_EXPORT StructTraits<::content::mojom::DidCommitProvisionalLoadParams::DataView,
::content::mojom::DidCommitProvisionalLoadParamsPtr> { … };
template <>
struct CONTENT_EXPORT StructTraits<::content::mojom::DidCommitSameDocumentNavigationParams::DataView,
::content::mojom::DidCommitSameDocumentNavigationParamsPtr> { … };
template <>
struct CONTENT_EXPORT StructTraits<::content::mojom::CookieManagerInfo::DataView,
::content::mojom::CookieManagerInfoPtr> { … };
template <>
struct CONTENT_EXPORT StructTraits<::content::mojom::StorageInfo::DataView,
::content::mojom::StorageInfoPtr> { … };
}
#endif