#include "third_party/blink/renderer/core/fetch/blob_bytes_consumer.h"
#include "base/task/sequenced_task_runner.h"
#include "third_party/blink/public/common/blob/blob_utils.h"
#include "third_party/blink/public/mojom/blob/blob.mojom-blink.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/platform/blob/blob_data.h"
#include "third_party/blink/renderer/platform/loader/fetch/data_pipe_bytes_consumer.h"
#include "third_party/blink/renderer/platform/mojo/heap_mojo_receiver.h"
#include "third_party/blink/renderer/platform/network/wrapped_data_pipe_getter.h"
namespace blink {
class BlobBytesConsumer::BlobClient
: public GarbageCollected<BlobBytesConsumer::BlobClient>,
public mojom::blink::BlobReaderClient { … };
BlobBytesConsumer::BlobBytesConsumer(
ExecutionContext* execution_context,
scoped_refptr<BlobDataHandle> blob_data_handle)
: … { … }
BlobBytesConsumer::~BlobBytesConsumer() = default;
BytesConsumer::Result BlobBytesConsumer::BeginRead(const char** buffer,
size_t* available) { … }
BytesConsumer::Result BlobBytesConsumer::EndRead(size_t read) { … }
scoped_refptr<BlobDataHandle> BlobBytesConsumer::DrainAsBlobDataHandle(
BlobSizePolicy policy) { … }
scoped_refptr<EncodedFormData> BlobBytesConsumer::DrainAsFormData() { … }
void BlobBytesConsumer::SetClient(BytesConsumer::Client* client) { … }
void BlobBytesConsumer::ClearClient() { … }
void BlobBytesConsumer::Cancel() { … }
BytesConsumer::Error BlobBytesConsumer::GetError() const { … }
BytesConsumer::PublicState BlobBytesConsumer::GetPublicState() const { … }
void BlobBytesConsumer::Trace(Visitor* visitor) const { … }
}