| Index: net/url_request/url_request_file_job.cc
|
| diff --git a/net/url_request/url_request_file_job.cc b/net/url_request/url_request_file_job.cc
|
| index 011a0daff23c8dee4617734d3148a05592c8c364..74e61315980c0238c6795ef55acf2e03d86722bf 100644
|
| --- a/net/url_request/url_request_file_job.cc
|
| +++ b/net/url_request/url_request_file_job.cc
|
| @@ -294,19 +294,21 @@ void URLRequestFileJob::DidSeek(int64 result) {
|
| }
|
|
|
| void URLRequestFileJob::DidRead(scoped_refptr<net::IOBuffer> buf, int result) {
|
| - OnReadComplete(buf.get(), result);
|
| - buf = NULL;
|
| if (result > 0) {
|
| SetStatus(URLRequestStatus()); // Clear the IO_PENDING status
|
| - } else if (result == 0) {
|
| + remaining_bytes_ -= result;
|
| + DCHECK_GE(remaining_bytes_, 0);
|
| + }
|
| +
|
| + OnReadComplete(buf.get(), result);
|
| + buf = NULL;
|
| +
|
| + if (result == 0) {
|
| NotifyDone(URLRequestStatus());
|
| - } else {
|
| + } else if (result < 0) {
|
| NotifyDone(URLRequestStatus(URLRequestStatus::FAILED, result));
|
| }
|
|
|
| - remaining_bytes_ -= result;
|
| - DCHECK_GE(remaining_bytes_, 0);
|
| -
|
| NotifyReadComplete(result);
|
| }
|
|
|
|
|