Chromium Code Reviews| Index: storage/browser/blob/upload_blob_element_reader.cc |
| diff --git a/storage/browser/blob/upload_blob_element_reader.cc b/storage/browser/blob/upload_blob_element_reader.cc |
| index dd0058f3617e68b6330791469118980c03e71d0c..6d7c8ffb9936a34d7f0ade89d391dbf3a2303601 100644 |
| --- a/storage/browser/blob/upload_blob_element_reader.cc |
| +++ b/storage/browser/blob/upload_blob_element_reader.cc |
| @@ -7,17 +7,27 @@ |
| #include "net/base/net_errors.h" |
| #include "storage/browser/blob/blob_data_handle.h" |
| #include "storage/browser/blob/blob_reader.h" |
| +#include "storage/browser/fileapi/file_system_context.h" |
| namespace storage { |
| UploadBlobElementReader::UploadBlobElementReader( |
| - scoped_ptr<storage::BlobReader> reader, |
| - scoped_ptr<BlobDataHandle> handle) |
| - : reader_(reader.Pass()), handle_(handle.Pass()) {} |
| + scoped_ptr<BlobDataHandle> handle, |
| + FileSystemContext* file_system_context, |
| + base::SingleThreadTaskRunner* file_task_runner) |
| + : handle_(handle.Pass()), |
| + file_system_context_(file_system_context), |
| + file_runner_(file_task_runner) { |
| + reader_ = handle_->CreateReader(file_system_context, file_task_runner); |
| +} |
| UploadBlobElementReader::~UploadBlobElementReader() {} |
| int UploadBlobElementReader::Init(const net::CompletionCallback& callback) { |
| + if (reader_->dirty()) { |
| + reader_ = |
| + handle_->CreateReader(file_system_context_.get(), file_runner_.get()); |
|
michaeln
2015/12/11 02:17:01
i think this is a nice improvement!
i think you c
|
| + } |
| BlobReader::Status status = reader_->CalculateSize(callback); |
| switch (status) { |
| case BlobReader::Status::NET_ERROR: |