| 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 4b3535aa5b9eaa18502b95b6ddf4e927b381a90a..b42ae219d75ecfd1feb5f604630d55126ecc14a1 100644
|
| --- a/content/browser/service_worker/service_worker_context_request_handler.cc
|
| +++ b/content/browser/service_worker/service_worker_context_request_handler.cc
|
| @@ -21,6 +21,18 @@
|
|
|
| namespace content {
|
|
|
| +namespace {
|
| +bool ShouldBypassCache(bool is_main_script,
|
| + blink::WebServiceWorkerUpdateViaCache cache_mode) {
|
| + if (is_main_script &&
|
| + cache_mode != blink::WebServiceWorkerUpdateViaCache::kAll)
|
| + return true;
|
| + if (cache_mode == blink::WebServiceWorkerUpdateViaCache::kNone)
|
| + return true;
|
| + return false;
|
| +}
|
| +} // namespace
|
| +
|
| ServiceWorkerContextRequestHandler::ServiceWorkerContextRequestHandler(
|
| base::WeakPtr<ServiceWorkerContextCore> context,
|
| base::WeakPtr<ServiceWorkerProviderHost> provider_host,
|
| @@ -191,7 +203,9 @@ net::URLRequestJob* ServiceWorkerContextRequestHandler::MaybeCreateJobImpl(
|
| int extra_load_flags = 0;
|
| base::TimeDelta time_since_last_check =
|
| base::Time::Now() - registration->last_update_check();
|
| - if (time_since_last_check > kServiceWorkerScriptMaxCacheAge ||
|
| +
|
| + if (ShouldBypassCache(is_main_script, registration->update_via_cache()) ||
|
| + time_since_last_check > kServiceWorkerScriptMaxCacheAge ||
|
| version_->force_bypass_cache_for_scripts()) {
|
| extra_load_flags = net::LOAD_BYPASS_CACHE;
|
| }
|
|
|