#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "components/services/storage/public/mojom/blob_storage_context.mojom.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 "components/services/storage/public/mojom/blob_storage_context.mojom-params-data.h"
#include "components/services/storage/public/mojom/blob_storage_context.mojom-shared-message-ids.h"
#include "components/services/storage/public/mojom/blob_storage_context.mojom-import-headers.h"
#include "components/services/storage/public/mojom/blob_storage_context.mojom-test-utils.h"
namespace storage::mojom {
BlobDataItem::BlobDataItem()
: … { … }
BlobDataItem::BlobDataItem(
BlobDataItemType type_in,
uint64_t size_in,
uint64_t side_data_size_in,
const std::string& content_type_in,
::mojo::PendingRemote<BlobDataItemReader> reader_in)
: … { … }
BlobDataItem::~BlobDataItem() = default;
void BlobDataItem::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool BlobDataItem::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char BlobDataItemReader::Name_[] = …;
BlobDataItemReader::IPCStableHashFunction BlobDataItemReader::MessageToMethodInfo_(mojo::Message& message) { … }
const char* BlobDataItemReader::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t BlobDataItemReader::Read_Sym::IPCStableHash() { … }
uint32_t BlobDataItemReader::ReadSideData_Sym::IPCStableHash() { … }
# endif
class BlobDataItemReader_Read_ForwardToCallback
: public mojo::MessageReceiver { … };
class BlobDataItemReader_ReadSideData_ForwardToCallback
: public mojo::MessageReceiver { … };
BlobDataItemReaderProxy::BlobDataItemReaderProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void BlobDataItemReaderProxy::Read(
uint64_t in_offset, uint64_t in_length, ::mojo::ScopedDataPipeProducerHandle in_pipe, ReadCallback callback) { … }
void BlobDataItemReaderProxy::ReadSideData(
ReadSideDataCallback callback) { … }
class BlobDataItemReader_Read_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BlobDataItemReader_Read_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BlobDataItemReader_Read_ProxyToResponder::Run(
int32_t in_success) { … }
class BlobDataItemReader_ReadSideData_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BlobDataItemReader_ReadSideData_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BlobDataItemReader_ReadSideData_ProxyToResponder::Run(
int32_t in_success, ::mojo_base::BigBuffer in_data) { … }
bool BlobDataItemReaderStubDispatch::Accept(
BlobDataItemReader* impl,
mojo::Message* message) { … }
bool BlobDataItemReaderStubDispatch::AcceptWithResponder(
BlobDataItemReader* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kBlobDataItemReaderValidationInfo[] = …;
bool BlobDataItemReaderRequestValidator::Accept(mojo::Message* message) { … }
bool BlobDataItemReaderResponseValidator::Accept(mojo::Message* message) { … }
const char BlobStorageContext::Name_[] = …;
BlobStorageContext::IPCStableHashFunction BlobStorageContext::MessageToMethodInfo_(mojo::Message& message) { … }
const char* BlobStorageContext::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t BlobStorageContext::RegisterFromDataItem_Sym::IPCStableHash() { … }
uint32_t BlobStorageContext::RegisterFromMemory_Sym::IPCStableHash() { … }
uint32_t BlobStorageContext::WriteBlobToFile_Sym::IPCStableHash() { … }
uint32_t BlobStorageContext::Clone_Sym::IPCStableHash() { … }
# endif
class BlobStorageContext_WriteBlobToFile_ForwardToCallback
: public mojo::MessageReceiver { … };
BlobStorageContextProxy::BlobStorageContextProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void BlobStorageContextProxy::RegisterFromDataItem(
::mojo::PendingReceiver<::blink::mojom::Blob> in_blob, const std::string& in_uuid, BlobDataItemPtr in_item) { … }
void BlobStorageContextProxy::RegisterFromMemory(
::mojo::PendingReceiver<::blink::mojom::Blob> in_blob, const std::string& in_uuid, ::mojo_base::BigBuffer in_data) { … }
void BlobStorageContextProxy::WriteBlobToFile(
::mojo::PendingRemote<::blink::mojom::Blob> in_blob, const ::base::FilePath& in_path, bool in_flush_on_write, std::optional<::base::Time> in_last_modified, WriteBlobToFileCallback callback) { … }
void BlobStorageContextProxy::Clone(
::mojo::PendingReceiver<BlobStorageContext> in_receiver) { … }
class BlobStorageContext_WriteBlobToFile_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BlobStorageContext_WriteBlobToFile_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BlobStorageContext_WriteBlobToFile_ProxyToResponder::Run(
WriteBlobToFileResult in_result) { … }
bool BlobStorageContextStubDispatch::Accept(
BlobStorageContext* impl,
mojo::Message* message) { … }
bool BlobStorageContextStubDispatch::AcceptWithResponder(
BlobStorageContext* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kBlobStorageContextValidationInfo[] = …;
bool BlobStorageContextRequestValidator::Accept(mojo::Message* message) { … }
bool BlobStorageContextResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::storage::mojom::BlobDataItem::DataView, ::storage::mojom::BlobDataItemPtr>::Read(
::storage::mojom::BlobDataItem::DataView input,
::storage::mojom::BlobDataItemPtr* output) { … }
}
namespace storage::mojom {
void BlobDataItemReaderInterceptorForTesting::Read(uint64_t offset, uint64_t length, ::mojo::ScopedDataPipeProducerHandle pipe, ReadCallback callback) { … }
void BlobDataItemReaderInterceptorForTesting::ReadSideData(ReadSideDataCallback callback) { … }
BlobDataItemReaderAsyncWaiter::BlobDataItemReaderAsyncWaiter(
BlobDataItemReader* proxy) : … { … }
BlobDataItemReaderAsyncWaiter::~BlobDataItemReaderAsyncWaiter() = default;
void BlobDataItemReaderAsyncWaiter::Read(
uint64_t offset, uint64_t length, ::mojo::ScopedDataPipeProducerHandle pipe, int32_t* out_success) { … }
int32_t BlobDataItemReaderAsyncWaiter::Read(
uint64_t offset, uint64_t length, ::mojo::ScopedDataPipeProducerHandle pipe) { … }
void BlobDataItemReaderAsyncWaiter::ReadSideData(
int32_t* out_success, ::mojo_base::BigBuffer* out_data) { … }
void BlobStorageContextInterceptorForTesting::RegisterFromDataItem(::mojo::PendingReceiver<::blink::mojom::Blob> blob, const std::string& uuid, BlobDataItemPtr item) { … }
void BlobStorageContextInterceptorForTesting::RegisterFromMemory(::mojo::PendingReceiver<::blink::mojom::Blob> blob, const std::string& uuid, ::mojo_base::BigBuffer data) { … }
void BlobStorageContextInterceptorForTesting::WriteBlobToFile(::mojo::PendingRemote<::blink::mojom::Blob> blob, const ::base::FilePath& path, bool flush_on_write, std::optional<::base::Time> last_modified, WriteBlobToFileCallback callback) { … }
void BlobStorageContextInterceptorForTesting::Clone(::mojo::PendingReceiver<BlobStorageContext> receiver) { … }
BlobStorageContextAsyncWaiter::BlobStorageContextAsyncWaiter(
BlobStorageContext* proxy) : … { … }
BlobStorageContextAsyncWaiter::~BlobStorageContextAsyncWaiter() = default;
void BlobStorageContextAsyncWaiter::WriteBlobToFile(
::mojo::PendingRemote<::blink::mojom::Blob> blob, const ::base::FilePath& path, bool flush_on_write, std::optional<::base::Time> last_modified, WriteBlobToFileResult* out_result) { … }
WriteBlobToFileResult BlobStorageContextAsyncWaiter::WriteBlobToFile(
::mojo::PendingRemote<::blink::mojom::Blob> blob, const ::base::FilePath& path, bool flush_on_write, std::optional<::base::Time> last_modified) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif