Chromium Code Reviews| Index: net/base/upload_data.cc |
| diff --git a/net/base/upload_data.cc b/net/base/upload_data.cc |
| index 71d77ae807a102ae0b5edf64a7184269ddabf10e..b13e9091e8cb0051caeb26a516ba1cd806f600d0 100644 |
| --- a/net/base/upload_data.cc |
| +++ b/net/base/upload_data.cc |
| @@ -114,6 +114,20 @@ uint64 UploadData::Element::BytesRemaining() { |
| return GetContentLength() - offset_; |
| } |
| +void UploadData::Element::ResetOffset() { |
| + offset_ = 0; |
| + |
| + // Delete the file stream if already opened, so we can reread the file from |
| + // the beginning. |
| + if (file_stream_) { |
| + // Temporarily allow until fix: http://crbug.com/72001. |
| + base::ThreadRestrictions::ScopedAllowIO allow_io; |
| + file_stream_->CloseSync(); |
| + delete file_stream_; |
| + file_stream_ = NULL; |
| + } |
|
wtc
2012/05/21 22:54:41
As a performance optimization, we can leave file_s
satorux1
2012/05/21 23:14:40
Thanks. I'm going to stick with my fix for now for
|
| +} |
| + |
| FileStream* UploadData::Element::OpenFileStream() { |
| scoped_ptr<FileStream> file(new FileStream(NULL)); |
| int64 rv = file->OpenSync( |