#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/debug/alias.h"
#include "base/hash/md5_constexpr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "mojo/public/cpp/bindings/features.h"
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/generated_code_util.h"
#include "mojo/public/cpp/bindings/lib/message_internal.h"
#include "mojo/public/cpp/bindings/lib/proxy_to_responder.h"
#include "mojo/public/cpp/bindings/lib/send_message_helper.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "mojo/public/cpp/bindings/urgent_message_scope.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-params-data.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-shared-message-ids.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink-import-headers.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink-test-utils.h"
#include "mojo/public/cpp/bindings/lib/wtf_serialization.h"
namespace blink::mojom::blink {
const char BlobURLStore::Name_[] = …;
BlobURLStore::IPCStableHashFunction BlobURLStore::MessageToMethodInfo_(mojo::Message& message) { … }
const char* BlobURLStore::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t BlobURLStore::Register_Sym::IPCStableHash() { … }
uint32_t BlobURLStore::Revoke_Sym::IPCStableHash() { … }
uint32_t BlobURLStore::ResolveAsURLLoaderFactory_Sym::IPCStableHash() { … }
uint32_t BlobURLStore::ResolveForNavigation_Sym::IPCStableHash() { … }
# endif
bool BlobURLStore::Register(::mojo::PendingRemote<::blink::mojom::blink::Blob> blob, const ::blink::KURL& url, const ::base::UnguessableToken& unsafe_agent_cluster_id, const std::optional<::blink::BlinkSchemefulSite>& unsafe_top_level_site) { … }
class BlobURLStore_Register_HandleSyncResponse
: public mojo::MessageReceiver { … };
class BlobURLStore_Register_ForwardToCallback
: public mojo::MessageReceiver { … };
class BlobURLStore_ResolveAsURLLoaderFactory_ForwardToCallback
: public mojo::MessageReceiver { … };
class BlobURLStore_ResolveForNavigation_ForwardToCallback
: public mojo::MessageReceiver { … };
BlobURLStoreProxy::BlobURLStoreProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
bool BlobURLStoreProxy::Register(
::mojo::PendingRemote<::blink::mojom::blink::Blob> param_blob, const ::blink::KURL& param_url, const ::base::UnguessableToken& param_unsafe_agent_cluster_id, const std::optional<::blink::BlinkSchemefulSite>& param_unsafe_top_level_site) { … }
void BlobURLStoreProxy::Register(
::mojo::PendingRemote<::blink::mojom::blink::Blob> in_blob, const ::blink::KURL& in_url, const ::base::UnguessableToken& in_unsafe_agent_cluster_id, const std::optional<::blink::BlinkSchemefulSite>& in_unsafe_top_level_site, RegisterCallback callback) { … }
void BlobURLStoreProxy::Revoke(
const ::blink::KURL& in_url) { … }
void BlobURLStoreProxy::ResolveAsURLLoaderFactory(
const ::blink::KURL& in_url, ::mojo::PendingReceiver<::network::mojom::blink::URLLoaderFactory> in_factory, ResolveAsURLLoaderFactoryCallback callback) { … }
void BlobURLStoreProxy::ResolveForNavigation(
const ::blink::KURL& in_url, ::mojo::PendingReceiver<BlobURLToken> in_token, ResolveForNavigationCallback callback) { … }
class BlobURLStore_Register_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BlobURLStore_Register_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BlobURLStore_Register_ProxyToResponder::Run(
) { … }
bool BlobURLStore_Register_HandleSyncResponse::Accept(
mojo::Message* message) { … }
class BlobURLStore_ResolveAsURLLoaderFactory_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BlobURLStore_ResolveAsURLLoaderFactory_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BlobURLStore_ResolveAsURLLoaderFactory_ProxyToResponder::Run(
const std::optional<::base::UnguessableToken>& in_unsafe_agent_cluster_id, const std::optional<::blink::BlinkSchemefulSite>& in_unsafe_top_level_site) { … }
class BlobURLStore_ResolveForNavigation_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BlobURLStore_ResolveForNavigation_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BlobURLStore_ResolveForNavigation_ProxyToResponder::Run(
const std::optional<::base::UnguessableToken>& in_unsafe_agent_cluster_id) { … }
bool BlobURLStoreStubDispatch::Accept(
BlobURLStore* impl,
mojo::Message* message) { … }
bool BlobURLStoreStubDispatch::AcceptWithResponder(
BlobURLStore* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kBlobURLStoreValidationInfo[] = …;
bool BlobURLStoreRequestValidator::Accept(mojo::Message* message) { … }
bool BlobURLStoreResponseValidator::Accept(mojo::Message* message) { … }
const char BlobURLToken::Name_[] = …;
BlobURLToken::IPCStableHashFunction BlobURLToken::MessageToMethodInfo_(mojo::Message& message) { … }
const char* BlobURLToken::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t BlobURLToken::Clone_Sym::IPCStableHash() { … }
uint32_t BlobURLToken::GetToken_Sym::IPCStableHash() { … }
# endif
class BlobURLToken_GetToken_ForwardToCallback
: public mojo::MessageReceiver { … };
BlobURLTokenProxy::BlobURLTokenProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void BlobURLTokenProxy::Clone(
::mojo::PendingReceiver<BlobURLToken> in_token) { … }
void BlobURLTokenProxy::GetToken(
GetTokenCallback callback) { … }
class BlobURLToken_GetToken_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BlobURLToken_GetToken_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BlobURLToken_GetToken_ProxyToResponder::Run(
const ::base::UnguessableToken& in_token) { … }
bool BlobURLTokenStubDispatch::Accept(
BlobURLToken* impl,
mojo::Message* message) { … }
bool BlobURLTokenStubDispatch::AcceptWithResponder(
BlobURLToken* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kBlobURLTokenValidationInfo[] = …;
bool BlobURLTokenRequestValidator::Accept(mojo::Message* message) { … }
bool BlobURLTokenResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
}
namespace blink::mojom::blink {
void BlobURLStoreInterceptorForTesting::Register(::mojo::PendingRemote<::blink::mojom::blink::Blob> blob, const ::blink::KURL& url, const ::base::UnguessableToken& unsafe_agent_cluster_id, const std::optional<::blink::BlinkSchemefulSite>& unsafe_top_level_site, RegisterCallback callback) { … }
void BlobURLStoreInterceptorForTesting::Revoke(const ::blink::KURL& url) { … }
void BlobURLStoreInterceptorForTesting::ResolveAsURLLoaderFactory(const ::blink::KURL& url, ::mojo::PendingReceiver<::network::mojom::blink::URLLoaderFactory> factory, ResolveAsURLLoaderFactoryCallback callback) { … }
void BlobURLStoreInterceptorForTesting::ResolveForNavigation(const ::blink::KURL& url, ::mojo::PendingReceiver<BlobURLToken> token, ResolveForNavigationCallback callback) { … }
BlobURLStoreAsyncWaiter::BlobURLStoreAsyncWaiter(
BlobURLStore* proxy) : … { … }
BlobURLStoreAsyncWaiter::~BlobURLStoreAsyncWaiter() = default;
void BlobURLStoreAsyncWaiter::Register(
::mojo::PendingRemote<::blink::mojom::blink::Blob> blob, const ::blink::KURL& url, const ::base::UnguessableToken& unsafe_agent_cluster_id, const std::optional<::blink::BlinkSchemefulSite>& unsafe_top_level_site) { … }
void BlobURLStoreAsyncWaiter::ResolveAsURLLoaderFactory(
const ::blink::KURL& url, ::mojo::PendingReceiver<::network::mojom::blink::URLLoaderFactory> factory, std::optional<::base::UnguessableToken>* out_unsafe_agent_cluster_id, std::optional<::blink::BlinkSchemefulSite>* out_unsafe_top_level_site) { … }
void BlobURLStoreAsyncWaiter::ResolveForNavigation(
const ::blink::KURL& url, ::mojo::PendingReceiver<BlobURLToken> token, std::optional<::base::UnguessableToken>* out_unsafe_agent_cluster_id) { … }
std::optional<::base::UnguessableToken> BlobURLStoreAsyncWaiter::ResolveForNavigation(
const ::blink::KURL& url, ::mojo::PendingReceiver<BlobURLToken> token) { … }
void BlobURLTokenInterceptorForTesting::Clone(::mojo::PendingReceiver<BlobURLToken> token) { … }
void BlobURLTokenInterceptorForTesting::GetToken(GetTokenCallback callback) { … }
BlobURLTokenAsyncWaiter::BlobURLTokenAsyncWaiter(
BlobURLToken* proxy) : … { … }
BlobURLTokenAsyncWaiter::~BlobURLTokenAsyncWaiter() = default;
void BlobURLTokenAsyncWaiter::GetToken(
::base::UnguessableToken* out_token) { … }
::base::UnguessableToken BlobURLTokenAsyncWaiter::GetToken(
) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif