#include "storage/browser/file_system/file_writer_delegate.h"
#include <stdint.h>
#include <memory>
#include <utility>
#include "base/containers/span.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/location.h"
#include "base/numerics/safe_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/threading/thread_restrictions.h"
#include "net/base/net_errors.h"
#include "storage/browser/file_system/file_stream_writer.h"
#include "storage/browser/file_system/file_system_context.h"
#include "storage/common/file_system/file_system_mount_option.h"
#include "storage/common/file_system/file_system_util.h"
namespace storage {
static const int kReadBufSize = …;
FileWriterDelegate::FileWriterDelegate(
std::unique_ptr<FileStreamWriter> file_stream_writer,
FlushPolicy flush_policy)
: … { … }
FileWriterDelegate::~FileWriterDelegate() = default;
void FileWriterDelegate::Start(std::unique_ptr<BlobReader> blob_reader,
DelegateWriteCallback write_callback) { … }
void FileWriterDelegate::Start(mojo::ScopedDataPipeConsumerHandle data_pipe,
DelegateWriteCallback write_callback) { … }
void FileWriterDelegate::Cancel() { … }
void FileWriterDelegate::OnDidCalculateSize(int net_error) { … }
void FileWriterDelegate::OnReadCompleted(int bytes_read) { … }
void FileWriterDelegate::Read() { … }
void FileWriterDelegate::OnDataReceived(int bytes_read) { … }
void FileWriterDelegate::Write() { … }
void FileWriterDelegate::OnDataWritten(int write_response) { … }
FileWriterDelegate::WriteProgressStatus
FileWriterDelegate::GetCompletionStatusOnError() const { … }
void FileWriterDelegate::OnReadError(base::File::Error error) { … }
void FileWriterDelegate::OnWriteError(base::File::Error error) { … }
void FileWriterDelegate::OnProgress(int bytes_written, bool done) { … }
void FileWriterDelegate::OnWriteCancelled(int status) { … }
void FileWriterDelegate::MaybeFlushForCompletion(
base::File::Error error,
int bytes_written,
WriteProgressStatus progress_status) { … }
void FileWriterDelegate::OnFlushed(base::File::Error error,
int bytes_written,
WriteProgressStatus progress_status,
int flush_error) { … }
void FileWriterDelegate::OnDataPipeReady(
MojoResult result,
const mojo::HandleSignalsState& state) { … }
}