Index: content/browser/appcache/appcache_url_request_job.cc |
diff --git a/content/browser/appcache/appcache_url_request_job.cc b/content/browser/appcache/appcache_url_request_job.cc |
index de924a18c0b617c8b300e22e3603d90fd0fbc84c..82997f791a595af2c3d2a80a6ad2835afd45b2ab 100644 |
--- a/content/browser/appcache/appcache_url_request_job.cc |
+++ b/content/browser/appcache/appcache_url_request_job.cc |
@@ -341,6 +341,7 @@ void AppCacheURLRequestJob::SetupRangeResponse() { |
void AppCacheURLRequestJob::OnReadComplete(int result) { |
DCHECK(is_delivering_appcache_response()); |
if (result == 0) { |
+ NotifyDone(net::URLRequestStatus()); |
AppCacheHistograms::CountResponseRetrieval( |
true, is_main_resource_, manifest_url_.GetOrigin()); |
} else if (result < 0) { |
@@ -348,10 +349,13 @@ void AppCacheURLRequestJob::OnReadComplete(int result) { |
storage_->service()->CheckAppCacheResponse(manifest_url_, cache_id_, |
entry_.response_id()); |
} |
+ NotifyDone(net::URLRequestStatus(net::URLRequestStatus::FAILED, result)); |
AppCacheHistograms::CountResponseRetrieval( |
false, is_main_resource_, manifest_url_.GetOrigin()); |
+ } else { |
+ SetStatus(net::URLRequestStatus()); // Clear the IO_PENDING status |
} |
- ReadRawDataComplete(result); |
+ NotifyReadComplete(result); |
} |
// net::URLRequestJob overrides ------------------------------------------------ |
@@ -420,14 +424,18 @@ int AppCacheURLRequestJob::GetResponseCode() const { |
return http_info()->headers->response_code(); |
} |
-int AppCacheURLRequestJob::ReadRawData(net::IOBuffer* buf, int buf_size) { |
+bool AppCacheURLRequestJob::ReadRawData(net::IOBuffer* buf, |
+ int buf_size, |
+ int* bytes_read) { |
DCHECK(is_delivering_appcache_response()); |
DCHECK_NE(buf_size, 0); |
+ DCHECK(bytes_read); |
DCHECK(!reader_->IsReadPending()); |
reader_->ReadData(buf, buf_size, |
base::Bind(&AppCacheURLRequestJob::OnReadComplete, |
base::Unretained(this))); |
- return net::ERR_IO_PENDING; |
+ SetStatus(net::URLRequestStatus(net::URLRequestStatus::IO_PENDING, 0)); |
+ return false; |
} |
void AppCacheURLRequestJob::SetExtraRequestHeaders( |