#include "content/browser/indexed_db/file_stream_reader_to_data_pipe.h"
#include <optional>
#include "base/functional/bind.h"
#include "base/memory/scoped_refptr.h"
#include "base/memory/weak_ptr.h"
#include "base/task/current_thread.h"
#include "base/task/sequenced_task_runner.h"
#include "mojo/public/cpp/system/simple_watcher.h"
#include "net/base/net_errors.h"
#include "services/network/public/cpp/net_adapters.h"
#include "storage/browser/file_system/file_stream_reader.h"
namespace content {
namespace {
class FileStreamReaderToDataPipe { … };
FileStreamReaderToDataPipe::FileStreamReaderToDataPipe(
std::unique_ptr<storage::FileStreamReader> reader,
mojo::ScopedDataPipeProducerHandle dest,
base::OnceCallback<void(int)> completion_callback,
uint64_t read_length)
: … { … }
FileStreamReaderToDataPipe::~FileStreamReaderToDataPipe() = default;
void FileStreamReaderToDataPipe::ReadMore() { … }
void FileStreamReaderToDataPipe::DidRead(int result) { … }
void FileStreamReaderToDataPipe::OnDataPipeWritable(MojoResult result) { … }
void FileStreamReaderToDataPipe::OnComplete(int result) { … }
}
void MakeFileStreamAdapterAndRead(
std::unique_ptr<storage::FileStreamReader> reader,
mojo::ScopedDataPipeProducerHandle dest,
base::OnceCallback<void(int)> completion_callback,
uint64_t read_length) { … }
}