• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "content/browser/service_worker/service_worker_registration_status.h"
6 
7 #include "base/logging.h"
8 #include "base/strings/utf_string_conversions.h"
9 
10 namespace content {
11 
12 using blink::WebServiceWorkerError;
13 
GetServiceWorkerRegistrationStatusResponse(ServiceWorkerStatusCode status,blink::WebServiceWorkerError::ErrorType * error_type,base::string16 * message)14 void GetServiceWorkerRegistrationStatusResponse(
15     ServiceWorkerStatusCode status,
16     blink::WebServiceWorkerError::ErrorType* error_type,
17     base::string16* message) {
18   *error_type = WebServiceWorkerError::ErrorTypeUnknown;
19   *message = base::ASCIIToUTF16(ServiceWorkerStatusToString(status));
20   switch (status) {
21     case SERVICE_WORKER_OK:
22       NOTREACHED() << "Calling this when status == OK is not allowed";
23       return;
24 
25     case SERVICE_WORKER_ERROR_START_WORKER_FAILED:
26     case SERVICE_WORKER_ERROR_INSTALL_WORKER_FAILED:
27       *error_type = WebServiceWorkerError::ErrorTypeInstall;
28       return;
29 
30     case SERVICE_WORKER_ERROR_ACTIVATE_WORKER_FAILED:
31       *error_type = WebServiceWorkerError::ErrorTypeActivate;
32       return;
33 
34     case SERVICE_WORKER_ERROR_NOT_FOUND:
35       *error_type = WebServiceWorkerError::ErrorTypeNotFound;
36       return;
37 
38     case SERVICE_WORKER_ERROR_NETWORK:
39       *error_type = WebServiceWorkerError::ErrorTypeNetwork;
40       return;
41 
42     case SERVICE_WORKER_ERROR_SECURITY:
43       *error_type = WebServiceWorkerError::ErrorTypeSecurity;
44       return;
45 
46     case SERVICE_WORKER_ERROR_ABORT:
47     case SERVICE_WORKER_ERROR_IPC_FAILED:
48     case SERVICE_WORKER_ERROR_FAILED:
49     case SERVICE_WORKER_ERROR_PROCESS_NOT_FOUND:
50     case SERVICE_WORKER_ERROR_EXISTS:
51       // Unexpected, or should have bailed out before calling this, or we don't
52       // have a corresponding blink error code yet.
53       break;  // Fall through to NOTREACHED().
54   }
55   NOTREACHED() << "Got unexpected error code: "
56                << status << " " << ServiceWorkerStatusToString(status);
57 }
58 
59 }  // namespace content
60