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..68408b4962b0fc4ba341ce6f8a7e0cc99a048042 100644 |
--- a/content/browser/service_worker/service_worker_controllee_request_handler.cc |
+++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc |
@@ -5,6 +5,7 @@ |
#include "content/browser/service_worker/service_worker_controllee_request_handler.h" |
#include <memory> |
+#include <set> |
#include <string> |
#include "base/trace_event/trace_event.h" |
@@ -195,6 +196,17 @@ ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource( |
return; |
} |
+ if (!provider_host_->IsContextSecureForServiceWorker()) { |
+ // TODO(falken): Figure out a way to surface in the page's DevTools |
+ // console that the service worker was blocked for security. |
+ job_->FallbackToNetwork(); |
+ TRACE_EVENT_ASYNC_END1( |
+ "ServiceWorker", |
+ "ServiceWorkerControlleeRequestHandler::PrepareForMainResource", |
+ job_.get(), "Info", "Insecure context"); |
+ return; |
+ } |
+ |
if (need_to_update) { |
force_update_started_ = true; |
context_->UpdateServiceWorker( |