Home | History | Annotate | Download | only in service_worker
      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 
     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