#include "content/browser/devtools/devtools_stream_blob.h"
#include <string_view>
#include "base/base64.h"
#include "base/functional/bind.h"
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/storage_partition.h"
#include "net/base/io_buffer.h"
#include "storage/browser/blob/blob_data_handle.h"
#include "storage/browser/blob/blob_reader.h"
#include "storage/browser/blob/blob_storage_constants.h"
#include "storage/browser/blob/blob_storage_context.h"
namespace content {
BlobReader;
DevToolsStreamBlob::ReadRequest::ReadRequest(off_t position,
size_t max_size,
ReadCallback callback)
: … { … }
DevToolsStreamBlob::ReadRequest::~ReadRequest() = default;
DevToolsStreamBlob::DevToolsStreamBlob()
: … { … }
DevToolsStreamBlob::~DevToolsStreamBlob() { … }
namespace {
void UnregisterIfOpenFailed(base::WeakPtr<DevToolsIOContext> context,
const std::string& handle,
bool success) { … }
}
scoped_refptr<DevToolsIOContext::Stream> DevToolsStreamBlob::Create(
DevToolsIOContext* io_context,
ChromeBlobStorageContext* blob_context,
StoragePartition* partition,
const std::string& handle,
const std::string& uuid) { … }
void DevToolsStreamBlob::ReadRequest::Fail() { … }
void DevToolsStreamBlob::Open(scoped_refptr<ChromeBlobStorageContext> context,
StoragePartition* partition,
const std::string& handle,
OpenCallback callback) { … }
void DevToolsStreamBlob::Read(off_t position,
size_t max_size,
ReadCallback callback) { … }
void DevToolsStreamBlob::OpenOnIO(
scoped_refptr<ChromeBlobStorageContext> blob_context,
const std::string& uuid,
OpenCallback callback) { … }
void DevToolsStreamBlob::OnBlobConstructionComplete(
storage::BlobStatus status) { … }
void DevToolsStreamBlob::ReadOnIO(std::unique_ptr<ReadRequest> request) { … }
void DevToolsStreamBlob::FailOnIO() { … }
void DevToolsStreamBlob::FailOnIO(OpenCallback callback) { … }
void DevToolsStreamBlob::StartReadRequest() { … }
void DevToolsStreamBlob::BeginRead() { … }
void DevToolsStreamBlob::OnReadComplete(int bytes_read) { … }
void DevToolsStreamBlob::CreateReader() { … }
void DevToolsStreamBlob::OnCalculateSizeComplete(int net_error) { … }
}