1ea9b8ba58955b7efcc3e1550dd33a44fb4530136hpayer@chromium.org// Copyright 2014 The Chromium Authors. All rights reserved.
290dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org// Use of this source code is governed by a BSD-style license that can be
390dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org// found in the LICENSE file.
490dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org
590dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org#include "content/common/service_worker/service_worker_status_code.h"
690dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org
790dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org#include "base/logging.h"
890dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org
990dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.orgnamespace content {
1090dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org
1190dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.orgconst char* ServiceWorkerStatusToString(ServiceWorkerStatusCode status) {
1290dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org  switch (status) {
1390dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_OK:
1490dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "Operation has succeeded";
1590dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_FAILED:
1690dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "Operation has failed (unknown reason)";
1790dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_ABORT:
1890dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "Operation has been aborted";
1990dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_PROCESS_NOT_FOUND:
2090dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "Could not find a renderer process to run a service worker";
2190dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_NOT_FOUND:
2290dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "Not found";
2390dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_EXISTS:
2490dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "Already exists";
2590dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_START_WORKER_FAILED:
2690dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "ServiceWorker cannot be started";
2790dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_INSTALL_WORKER_FAILED:
28ea9b8ba58955b7efcc3e1550dd33a44fb4530136hpayer@chromium.org      return "ServiceWorker failed to install";
2990dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_ACTIVATE_WORKER_FAILED:
3090dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org      return "ServiceWorker failed to activate";
317d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org    case SERVICE_WORKER_ERROR_IPC_FAILED:
327d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org      return "IPC connection was closed or IPC error has occured";
337d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org    case SERVICE_WORKER_ERROR_NETWORK:
347d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org      return "Operation failed by network issue";
3590dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org    case SERVICE_WORKER_ERROR_SECURITY:
367d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org      return "Operation failed by security issue";
377d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org  }
387d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org  NOTREACHED();
397d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org  return "";
4090dca01eac542464c29011d239bf18f26e0b8f00machenbach@chromium.org}
417d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org
427d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org}  // namespace content
437d6bc7d843319c5e810228cdf793f36bcb109367machenbach@chromium.org