| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_stream.h" | 5 #include "net/base/upload_data_stream.h" |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "net/base/io_buffer.h" | 9 #include "net/base/io_buffer.h" |
| 10 #include "net/base/net_errors.h" | 10 #include "net/base/net_errors.h" |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 next_element_offset_ += bytes_copied; | 75 next_element_offset_ += bytes_copied; |
| 76 } | 76 } |
| 77 } else { | 77 } else { |
| 78 DCHECK(element.type() == UploadData::TYPE_FILE); | 78 DCHECK(element.type() == UploadData::TYPE_FILE); |
| 79 | 79 |
| 80 if (!next_element_remaining_) { | 80 if (!next_element_remaining_) { |
| 81 // If the underlying file has been changed, treat it as error. | 81 // If the underlying file has been changed, treat it as error. |
| 82 // Note that the expected modification time from WebKit is based on | 82 // Note that the expected modification time from WebKit is based on |
| 83 // time_t precision. So we have to convert both to time_t to compare. | 83 // time_t precision. So we have to convert both to time_t to compare. |
| 84 if (!element.expected_file_modification_time().is_null()) { | 84 if (!element.expected_file_modification_time().is_null()) { |
| 85 file_util::FileInfo info; | 85 base::PlatformFileInfo info; |
| 86 if (file_util::GetFileInfo(element.file_path(), &info) && | 86 if (file_util::GetFileInfo(element.file_path(), &info) && |
| 87 element.expected_file_modification_time().ToTimeT() != | 87 element.expected_file_modification_time().ToTimeT() != |
| 88 info.last_modified.ToTimeT()) { | 88 info.last_modified.ToTimeT()) { |
| 89 return ERR_UPLOAD_FILE_CHANGED; | 89 return ERR_UPLOAD_FILE_CHANGED; |
| 90 } | 90 } |
| 91 } | 91 } |
| 92 next_element_remaining_ = element.GetContentLength(); | 92 next_element_remaining_ = element.GetContentLength(); |
| 93 next_element_stream_.reset(element.NewFileStreamForReading()); | 93 next_element_stream_.reset(element.NewFileStreamForReading()); |
| 94 } | 94 } |
| 95 | 95 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 125 } | 125 } |
| 126 } | 126 } |
| 127 | 127 |
| 128 if (next_element_ == end && !buf_len_) | 128 if (next_element_ == end && !buf_len_) |
| 129 eof_ = true; | 129 eof_ = true; |
| 130 | 130 |
| 131 return OK; | 131 return OK; |
| 132 } | 132 } |
| 133 | 133 |
| 134 } // namespace net | 134 } // namespace net |
| OLD | NEW |