| Index: net/base/upload_data_stream.cc
|
| diff --git a/net/base/upload_data_stream.cc b/net/base/upload_data_stream.cc
|
| index a7542778ff5a0bf93968eca29888c835bfa3f6e8..37e19aed313d210d622ab495643191020a0a63eb 100644
|
| --- a/net/base/upload_data_stream.cc
|
| +++ b/net/base/upload_data_stream.cc
|
| @@ -109,18 +109,19 @@ void UploadDataStream::OnInitCompleted(int result) {
|
| }
|
|
|
| void UploadDataStream::OnReadCompleted(int result) {
|
| - DCHECK_GE(result, 0);
|
| DCHECK(initialized_successfully_);
|
| + DCHECK(result != 0 || is_eof_);
|
| + DCHECK_NE(ERR_IO_PENDING, result);
|
|
|
| - current_position_ += result;
|
| - if (!is_chunked_) {
|
| - DCHECK_LE(current_position_, total_size_);
|
| - if (current_position_ == total_size_)
|
| - is_eof_ = true;
|
| + if (result > 0) {
|
| + current_position_ += result;
|
| + if (!is_chunked_) {
|
| + DCHECK_LE(current_position_, total_size_);
|
| + if (current_position_ == total_size_)
|
| + is_eof_ = true;
|
| + }
|
| }
|
|
|
| - DCHECK(result > 0 || is_eof_);
|
| -
|
| if (!callback_.is_null())
|
| base::ResetAndReturn(&callback_).Run(result);
|
| }
|
|
|