Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/base/upload_data.h" | 5 #include "net/base/upload_data.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 107 } | 107 } |
| 108 | 108 |
| 109 NOTREACHED(); | 109 NOTREACHED(); |
| 110 return 0; | 110 return 0; |
| 111 } | 111 } |
| 112 | 112 |
| 113 uint64 UploadData::Element::BytesRemaining() { | 113 uint64 UploadData::Element::BytesRemaining() { |
| 114 return GetContentLength() - offset_; | 114 return GetContentLength() - offset_; |
| 115 } | 115 } |
| 116 | 116 |
| 117 void UploadData::Element::ResetOffset() { | |
| 118 offset_ = 0; | |
| 119 | |
| 120 // Delete the file stream if already opened, so we can reread the file from | |
| 121 // the beginning. | |
| 122 if (file_stream_) { | |
| 123 // Temporarily allow until fix: http://crbug.com/72001. | |
| 124 base::ThreadRestrictions::ScopedAllowIO allow_io; | |
| 125 file_stream_->CloseSync(); | |
| 126 delete file_stream_; | |
| 127 file_stream_ = NULL; | |
| 128 } | |
|
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
| |
| 129 } | |
| 130 | |
| 117 FileStream* UploadData::Element::OpenFileStream() { | 131 FileStream* UploadData::Element::OpenFileStream() { |
| 118 scoped_ptr<FileStream> file(new FileStream(NULL)); | 132 scoped_ptr<FileStream> file(new FileStream(NULL)); |
| 119 int64 rv = file->OpenSync( | 133 int64 rv = file->OpenSync( |
| 120 file_path_, | 134 file_path_, |
| 121 base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ); | 135 base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ); |
| 122 if (rv != OK) { | 136 if (rv != OK) { |
| 123 // If the file can't be opened, we'll just upload an empty file. | 137 // If the file can't be opened, we'll just upload an empty file. |
| 124 DLOG(WARNING) << "Failed to open \"" << file_path_.value() | 138 DLOG(WARNING) << "Failed to open \"" << file_path_.value() |
| 125 << "\" for reading: " << rv; | 139 << "\" for reading: " << rv; |
| 126 return NULL; | 140 return NULL; |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 285 return; | 299 return; |
| 286 | 300 |
| 287 for (size_t i = 0; i < elements_.size(); ++i) | 301 for (size_t i = 0; i < elements_.size(); ++i) |
| 288 *content_length += elements_[i].GetContentLength(); | 302 *content_length += elements_[i].GetContentLength(); |
| 289 } | 303 } |
| 290 | 304 |
| 291 UploadData::~UploadData() { | 305 UploadData::~UploadData() { |
| 292 } | 306 } |
| 293 | 307 |
| 294 } // namespace net | 308 } // namespace net |
| OLD | NEW |