Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / content / common / service_worker / service_worker_types.h
index abb13b9..319e272 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "base/basictypes.h"
 #include "content/common/content_export.h"
+#include "third_party/WebKit/public/platform/WebServiceWorkerState.h"
 #include "url/gurl.h"
 
 // This file is to have common definitions that are to be shared by
@@ -20,7 +21,15 @@ namespace content {
 // Indicates invalid request ID (i.e. the sender does not expect it gets
 // response for the message) for messaging between browser process
 // and embedded worker.
-const static int kInvalidRequestId = -1;
+const static int kInvalidServiceWorkerRequestId = -1;
+
+// Constants for invalid identifiers.
+const static int kInvalidServiceWorkerHandleId = -1;
+const static int kInvalidServiceWorkerProviderId = -1;
+const static int64 kInvalidServiceWorkerRegistrationId = -1;
+const static int64 kInvalidServiceWorkerVersionId = -1;
+const static int64 kInvalidServiceWorkerResourceId = -1;
+const static int64 kInvalidServiceWorkerResponseId = -1;
 
 // To dispatch fetch request from browser to child process.
 // TODO(kinuko): This struct will definitely need more fields and
@@ -38,6 +47,39 @@ struct CONTENT_EXPORT ServiceWorkerFetchRequest {
   std::map<std::string, std::string> headers;
 };
 
+// Indicates how the service worker handled a fetch event.
+enum ServiceWorkerFetchEventResult {
+  // Browser should fallback to native fetch.
+  SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK,
+  // Service worker provided a ServiceWorkerResponse.
+  SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE,
+  SERVICE_WORKER_FETCH_EVENT_LAST = SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE
+};
+
+// Represents a response to a fetch.
+struct CONTENT_EXPORT ServiceWorkerResponse {
+  ServiceWorkerResponse();
+  ServiceWorkerResponse(int status_code,
+                        const std::string& status_text,
+                        const std::string& method,
+                        const std::map<std::string, std::string>& headers);
+  ~ServiceWorkerResponse();
+
+  int status_code;
+  std::string status_text;
+  std::string method;
+  std::map<std::string, std::string> headers;
+};
+
+// Represents initialization info for a WebServiceWorker object.
+struct CONTENT_EXPORT ServiceWorkerObjectInfo {
+  ServiceWorkerObjectInfo();
+  int handle_id;
+  GURL scope;
+  GURL url;
+  blink::WebServiceWorkerState state;
+};
+
 }  // namespace content
 
 #endif  // CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_TYPES_H_