Chromium Code Reviews| Index: content/renderer/service_worker/service_worker_context_client.cc |
| diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc |
| index 51c812a9cd41db7c787b5e4b77bf1f07a92e11ea..5f01d8b77c4175661ec92dfe74ea8bd5a2950117 100644 |
| --- a/content/renderer/service_worker/service_worker_context_client.cc |
| +++ b/content/renderer/service_worker/service_worker_context_client.cc |
| @@ -424,8 +424,21 @@ class ServiceWorkerContextClient::NavigationPreloadRequest final |
| void OnComplete(const ResourceRequestCompletionStatus& status) override { |
| if (status.error_code != net::OK) { |
| + std::string error_message; |
| + if (status.error_code == net::ERR_ABORTED) { |
| + error_message = |
| + "The service worker navigation preload request was cancelled " |
| + "before 'preloadResponse' settled. If you intend to use " |
| + "'preloadResponse', use waitUntil() or respondWith() to wait for " |
| + "the promise to settle."; |
| + } else { |
| + error_message = base::StringPrintf( |
| + "The service worker navigation preload request failed with network " |
| + "error code %d.", |
| + status.error_code); |
|
horo
2017/04/12 00:32:03
I think we should not expose the error code for se
|
| + } |
| // This will delete |this|. |
| - ReportErrorToClient("Service Worker navigation preload network error."); |
| + ReportErrorToClient(error_message); |
| return; |
| } |
| @@ -458,7 +471,7 @@ class ServiceWorkerContextClient::NavigationPreloadRequest final |
| base::MakeUnique<WebDataConsumerHandleImpl>(std::move(body_))); |
| } |
| - void ReportErrorToClient(const char* error_message) { |
| + void ReportErrorToClient(const std::string& error_message) { |
| ServiceWorkerContextClient* client = |
| ServiceWorkerContextClient::ThreadSpecificInstance(); |
| if (!client) |