Index: content/browser/service_worker/service_worker_dispatcher_host.cc |
diff --git a/content/browser/service_worker/service_worker_dispatcher_host.cc b/content/browser/service_worker/service_worker_dispatcher_host.cc |
index c0e32cee57284480dc9383c33efd166ab64c10c8..0dec4371669c93b3f8cd100f3872130158c101d5 100644 |
--- a/content/browser/service_worker/service_worker_dispatcher_host.cc |
+++ b/content/browser/service_worker/service_worker_dispatcher_host.cc |
@@ -65,6 +65,7 @@ const char kSetNavigationPreloadHeaderErrorPrefix[] = |
const char kNoActiveWorkerErrorMessage[] = |
"The registration does not have an active worker."; |
const char kDatabaseErrorMessage[] = "Failed to access storage."; |
+const char kFeatureDisabledErrorMessage[] = "This feature is diabled."; |
falken
2017/01/13 03:43:41
"disabled"
Should we give a more specific error m
horo
2017/01/13 08:41:32
Done.
|
const uint32_t kFilteredMessageClasses[] = { |
ServiceWorkerMsgStart, EmbeddedWorkerMsgStart, |
@@ -717,6 +718,14 @@ void ServiceWorkerDispatcherHost::OnEnableNavigationPreload( |
return; |
} |
+ if (!registration->active_version()->IsNavigationPreloadSupported()) { |
+ Send(new ServiceWorkerMsg_EnableNavigationPreloadError( |
+ thread_id, request_id, WebServiceWorkerError::ErrorTypeAbort, |
+ std::string(kEnableNavigationPreloadErrorPrefix) + |
+ std::string(kFeatureDisabledErrorMessage))); |
+ return; |
+ } |
+ |
std::vector<GURL> urls = {provider_host->document_url(), |
registration->pattern()}; |
if (!ServiceWorkerUtils::AllOriginsMatchAndCanAccessServiceWorkers(urls)) { |
@@ -859,6 +868,13 @@ void ServiceWorkerDispatcherHost::OnSetNavigationPreloadHeader( |
return; |
} |
+ if (!registration->active_version()->IsNavigationPreloadSupported()) { |
+ Send(new ServiceWorkerMsg_SetNavigationPreloadHeaderError( |
+ thread_id, request_id, WebServiceWorkerError::ErrorTypeAbort, |
+ std::string(kSetNavigationPreloadHeaderErrorPrefix) + |
+ std::string(kFeatureDisabledErrorMessage))); |
+ return; |
+ } |
std::vector<GURL> urls = {provider_host->document_url(), |
registration->pattern()}; |
if (!ServiceWorkerUtils::AllOriginsMatchAndCanAccessServiceWorkers(urls)) { |