Chromium Code Reviews| 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 7b9b35c2f65f13ebd0b38aab55b6107763f09df3..181dc951909e50900f54fc224d36a7786fc0904e 100644 |
| --- a/content/browser/service_worker/service_worker_controllee_request_handler.cc |
| +++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc |
| @@ -252,7 +252,11 @@ ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource( |
| ServiceWorkerMetrics::CountControlledPageLoad(stripped_url_); |
| - job_->ForwardToServiceWorker(); |
| + if (!active_version->has_fetch_handler()) |
| + job_->FallbackToNetwork(); |
| + else |
| + job_->ForwardToServiceWorker(); |
| + |
| TRACE_EVENT_ASYNC_END2( |
| "ServiceWorker", |
| "ServiceWorkerControlleeRequestHandler::PrepareForMainResource", |
| @@ -282,7 +286,11 @@ void ServiceWorkerControlleeRequestHandler::OnVersionStatusChanged( |
| provider_host_->AssociateRegistration(registration, |
| false /* notify_controllerchange */); |
| - job_->ForwardToServiceWorker(); |
| + |
| + if (!version->has_fetch_handler()) |
| + job_->FallbackToNetwork(); |
| + else |
| + job_->ForwardToServiceWorker(); |
| } |
| void ServiceWorkerControlleeRequestHandler::DidUpdateRegistration( |
| @@ -352,7 +360,10 @@ void ServiceWorkerControlleeRequestHandler::PrepareForSubResource() { |
| DCHECK(job_.get()); |
| DCHECK(context_); |
| DCHECK(provider_host_->active_version()); |
| - job_->ForwardToServiceWorker(); |
| + if (!provider_host_->active_version()->has_fetch_handler()) |
| + job_->FallbackToNetwork(); |
| + else |
| + job_->ForwardToServiceWorker(); |
|
falken
2016/05/27 09:53:34
Can you factor out these three blocks into a helpe
shimazu
2016/05/30 05:41:59
I roughly checked the performance improvements by
|
| } |
| void ServiceWorkerControlleeRequestHandler::OnPrepareToRestart() { |