| 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..b728436ba403511e6bcd0acbf9b25d4a109072fd 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,17 @@ 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());
|
| + }
|
| + return new ServiceWorkerWriteToCacheJob(
|
| + request, network_delegate, resource_type_, context_, version_.get(),
|
| + extra_load_flags, response_id, incumbent_response_id);
|
| }
|
|
|
| int64 response_id = kInvalidServiceWorkerResponseId;
|
|
|