summaryrefslogtreecommitdiffstats
path: root/chromium/content/common/service_worker/service_worker_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/common/service_worker/service_worker_types.h')
-rw-r--r--chromium/content/common/service_worker/service_worker_types.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/chromium/content/common/service_worker/service_worker_types.h b/chromium/content/common/service_worker/service_worker_types.h
new file mode 100644
index 00000000000..8f49f9a5635
--- /dev/null
+++ b/chromium/content/common/service_worker/service_worker_types.h
@@ -0,0 +1,85 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_TYPES_H_
+#define CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_TYPES_H_
+
+#include <map>
+#include <string>
+
+#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
+// browser and child process.
+
+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 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
+// we'll probably want to have response struct/class too.
+struct CONTENT_EXPORT ServiceWorkerFetchRequest {
+ ServiceWorkerFetchRequest();
+ ServiceWorkerFetchRequest(
+ const GURL& url,
+ const std::string& method,
+ const std::map<std::string, std::string>& headers);
+ ~ServiceWorkerFetchRequest();
+
+ GURL url;
+ std::string method;
+ 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::map<std::string, std::string>& headers,
+ const std::string& blob_uuid);
+ ~ServiceWorkerResponse();
+
+ int status_code;
+ std::string status_text;
+ std::map<std::string, std::string> headers;
+ std::string blob_uuid;
+};
+
+// 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_