| Index: webkit/browser/appcache/appcache_url_request_job.cc
|
| diff --git a/webkit/browser/appcache/appcache_url_request_job.cc b/webkit/browser/appcache/appcache_url_request_job.cc
|
| index 30f1c1fe7fb2cd86a642c9128dc1e7a96ec18abe..afef47758645a0ee499505b604808414da476ee4 100644
|
| --- a/webkit/browser/appcache/appcache_url_request_job.cc
|
| +++ b/webkit/browser/appcache/appcache_url_request_job.cc
|
| @@ -33,13 +33,15 @@ AppCacheURLRequestJob::AppCacheURLRequestJob(
|
| net::URLRequest* request,
|
| net::NetworkDelegate* network_delegate,
|
| AppCacheStorage* storage,
|
| - AppCacheHost* host)
|
| + AppCacheHost* host,
|
| + bool is_main_resource)
|
| : net::URLRequestJob(request, network_delegate),
|
| host_(host),
|
| storage_(storage),
|
| has_been_started_(false), has_been_killed_(false),
|
| delivery_type_(AWAITING_DELIVERY_ORDERS),
|
| group_id_(0), cache_id_(kNoCacheId), is_fallback_(false),
|
| + is_main_resource_(is_main_resource),
|
| cache_entry_not_found_(false),
|
| weak_factory_(this) {
|
| DCHECK(storage_);
|
| @@ -287,6 +289,8 @@ void AppCacheURLRequestJob::OnResponseInfoLoaded(
|
| // from the appcache.
|
| storage_->service()->CheckAppCacheResponse(manifest_url_, cache_id_,
|
| entry_.response_id());
|
| + AppCacheHistograms::CountResponseRetrieval(
|
| + false, is_main_resource_, manifest_url_.GetOrigin());
|
| }
|
| cache_entry_not_found_ = true;
|
| NotifyRestartRequired();
|
| @@ -331,12 +335,16 @@ 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) {
|
| if (storage_->service()->storage() == storage_) {
|
| 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
|
| }
|
|
|