Index: content/browser/service_worker/service_worker_context_request_handler.cc |
diff --git a/content/browser/service_worker/service_worker_context_request_handler.cc b/content/browser/service_worker/service_worker_context_request_handler.cc |
index bf360b9fbc97f5adae4c1476e8d5ee5e9746dedb..ffbe8df129e9bb2a336bfa251edca828ae7d256d 100644 |
--- a/content/browser/service_worker/service_worker_context_request_handler.cc |
+++ b/content/browser/service_worker/service_worker_context_request_handler.cc |
@@ -73,13 +73,16 @@ net::URLRequestJob* ServiceWorkerContextRequestHandler::MaybeCreateJob( |
extra_load_flags = net::LOAD_BYPASS_CACHE; |
} |
- return new ServiceWorkerWriteToCacheJob(request, |
- network_delegate, |
- resource_type_, |
- context_, |
- version_.get(), |
- extra_load_flags, |
- response_id); |
+ ServiceWorkerVersion* stored_version = registration->waiting_version() |
+ ? registration->waiting_version() |
+ : registration->active_version(); |
+ int64 incumbent_response_id = kInvalidServiceWorkerResourceId; |
+ if (stored_version && stored_version->script_url() == request->url()) |
+ incumbent_response_id = |
+ stored_version->script_cache_map()->LookupResourceId(request->url()); |
nhiroki
2015/06/03 05:36:14
nit: Can you wrap this if-statement body with {}?
falken
2015/06/03 09:07:40
Done.
|
+ return new ServiceWorkerWriteToCacheJob( |
+ request, network_delegate, resource_type_, context_, version_.get(), |
+ extra_load_flags, response_id, incumbent_response_id); |
} |
int64 response_id = kInvalidServiceWorkerResponseId; |