| Index: content/browser/service_worker/service_worker_controllee_request_handler.cc
|
| diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.cc b/content/browser/service_worker/service_worker_controllee_request_handler.cc
|
| index 3ac742ca3d8a95c82a60c98a1d5d66292ae9f3f8..2ef8b6fa823ceb1d09b7560f006321453480e732 100644
|
| --- a/content/browser/service_worker/service_worker_controllee_request_handler.cc
|
| +++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc
|
| @@ -64,6 +64,11 @@ net::URLRequestJob* ServiceWorkerControlleeRequestHandler::MaybeCreateJob(
|
| net::URLRequest* request,
|
| net::NetworkDelegate* network_delegate,
|
| ResourceContext* resource_context) {
|
| + if (job_.get() && worker_start_time_.is_null()) {
|
| + // Save worker-start time of the first job.
|
| + worker_start_time_ = job_->worker_start_time();
|
| + }
|
| +
|
| if (!context_ || !provider_host_) {
|
| // We can't do anything other than to fall back to network.
|
| job_ = NULL;
|
| @@ -119,12 +124,17 @@ void ServiceWorkerControlleeRequestHandler::GetExtraResponseInfo(
|
| *was_fetched_via_service_worker = false;
|
| *was_fallback_required_by_service_worker = false;
|
| *original_url_via_service_worker = GURL();
|
| + *worker_start_time = worker_start_time_;
|
| return;
|
| }
|
| job_->GetExtraResponseInfo(
|
| was_fetched_via_service_worker, was_fallback_required_by_service_worker,
|
| original_url_via_service_worker, response_type_via_service_worker,
|
| worker_start_time);
|
| + if (!worker_start_time_.is_null()) {
|
| + // If we have worker start time from previous job, use it.
|
| + *worker_start_time = worker_start_time_;
|
| + }
|
| }
|
|
|
| void ServiceWorkerControlleeRequestHandler::PrepareForMainResource(
|
|
|