1// Copyright 2014 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#ifndef CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_STATUS_CODE_H_
6#define CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_STATUS_CODE_H_
7
8#include "content/common/content_export.h"
9
10namespace content {
11
12// Generic service worker operation statuses.
13enum ServiceWorkerStatusCode {
14  // Operation succeeded.
15  SERVICE_WORKER_OK,
16
17  // Generic operation error (more specific error code should be used in
18  // general).
19  SERVICE_WORKER_ERROR_FAILED,
20
21  // Operation was aborted (e.g. due to context or child process shutdown).
22  SERVICE_WORKER_ERROR_ABORT,
23
24  // Starting a new service worker script context failed.
25  SERVICE_WORKER_ERROR_START_WORKER_FAILED,
26
27  // Could not find a renderer process to run a service worker.
28  SERVICE_WORKER_ERROR_PROCESS_NOT_FOUND,
29
30  // Generic error code to indicate the specified item is not found.
31  SERVICE_WORKER_ERROR_NOT_FOUND,
32
33  // Generic error code to indicate the specified item already exists.
34  SERVICE_WORKER_ERROR_EXISTS,
35
36  // Install event handling failed.
37  SERVICE_WORKER_ERROR_INSTALL_WORKER_FAILED,
38
39  // Activate event handling failed.
40  SERVICE_WORKER_ERROR_ACTIVATE_WORKER_FAILED,
41
42  // Sending an IPC to the worker failed (often due to child process is
43  // terminated).
44  SERVICE_WORKER_ERROR_IPC_FAILED,
45
46  // Operation is failed by network issue.
47  SERVICE_WORKER_ERROR_NETWORK,
48
49  // Operation is failed by security issue.
50  SERVICE_WORKER_ERROR_SECURITY,
51};
52
53CONTENT_EXPORT const char* ServiceWorkerStatusToString(
54    ServiceWorkerStatusCode code);
55
56}  // namespace content
57
58#endif  // CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_STATUS_CODE_H_
59