Chromium Code Reviews| 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)) { |