summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/ServiceWorkerOpArgs.ipdlh
diff options
context:
space:
mode:
Diffstat (limited to 'dom/serviceworkers/ServiceWorkerOpArgs.ipdlh')
-rw-r--r--dom/serviceworkers/ServiceWorkerOpArgs.ipdlh132
1 files changed, 132 insertions, 0 deletions
diff --git a/dom/serviceworkers/ServiceWorkerOpArgs.ipdlh b/dom/serviceworkers/ServiceWorkerOpArgs.ipdlh
new file mode 100644
index 0000000000..4c3504ed47
--- /dev/null
+++ b/dom/serviceworkers/ServiceWorkerOpArgs.ipdlh
@@ -0,0 +1,132 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+include ChannelInfo;
+include ClientIPCTypes;
+include DOMTypes;
+include FetchTypes;
+
+include "mozilla/dom/ServiceWorkerIPCUtils.h";
+
+using ServiceWorkerState from "mozilla/dom/ServiceWorkerBinding.h";
+
+namespace mozilla {
+namespace dom {
+
+/**
+ * ServiceWorkerOpArgs
+ */
+struct ServiceWorkerCheckScriptEvaluationOpArgs {};
+
+struct ServiceWorkerUpdateStateOpArgs {
+ ServiceWorkerState state;
+};
+
+struct ServiceWorkerTerminateWorkerOpArgs {
+ uint32_t shutdownStateId;
+};
+
+struct ServiceWorkerLifeCycleEventOpArgs {
+ nsString eventName;
+};
+
+// Possibly need to differentiate an empty array from the absence of an array.
+union OptionalPushData {
+ void_t;
+ uint8_t[];
+};
+
+struct ServiceWorkerPushEventOpArgs {
+ nsString messageId;
+ OptionalPushData data;
+};
+
+struct ServiceWorkerPushSubscriptionChangeEventOpArgs {};
+
+struct ServiceWorkerNotificationEventOpArgs {
+ nsString eventName;
+ nsString id;
+ nsString title;
+ nsString dir;
+ nsString lang;
+ nsString body;
+ nsString tag;
+ nsString icon;
+ nsString data;
+ nsString behavior;
+ nsString scope;
+ uint32_t disableOpenClickDelay;
+};
+
+struct ServiceWorkerMessageEventOpArgs {
+ ClientInfoAndState clientInfoAndState;
+ ClonedOrErrorMessageData clonedData;
+};
+
+struct ServiceWorkerFetchEventOpArgs {
+ nsCString workerScriptSpec;
+ IPCInternalRequest internalRequest;
+ nsString clientId;
+ nsString resultingClientId;
+ bool isNonSubresourceRequest;
+};
+
+union ServiceWorkerOpArgs {
+ ServiceWorkerCheckScriptEvaluationOpArgs;
+ ServiceWorkerUpdateStateOpArgs;
+ ServiceWorkerTerminateWorkerOpArgs;
+ ServiceWorkerLifeCycleEventOpArgs;
+ ServiceWorkerPushEventOpArgs;
+ ServiceWorkerPushSubscriptionChangeEventOpArgs;
+ ServiceWorkerNotificationEventOpArgs;
+ ServiceWorkerMessageEventOpArgs;
+ ServiceWorkerFetchEventOpArgs;
+};
+
+/**
+ * IPCFetchEventRespondWithResult
+ */
+struct FetchEventRespondWithClosure {
+ nsCString respondWithScriptSpec;
+ uint32_t respondWithLineNumber;
+ uint32_t respondWithColumnNumber;
+};
+
+struct IPCSynthesizeResponseArgs {
+ IPCInternalResponse internalResponse;
+ FetchEventRespondWithClosure closure;
+};
+
+struct ResetInterceptionArgs {};
+
+struct CancelInterceptionArgs {
+ nsresult status;
+};
+
+union IPCFetchEventRespondWithResult {
+ IPCSynthesizeResponseArgs;
+ ResetInterceptionArgs;
+ CancelInterceptionArgs;
+};
+
+/**
+ * ServiceWorkerOpResult
+ */
+struct ServiceWorkerCheckScriptEvaluationOpResult {
+ bool workerScriptExecutedSuccessfully;
+ bool fetchHandlerWasAdded;
+};
+
+struct ServiceWorkerFetchEventOpResult {
+ nsresult rv;
+};
+
+union ServiceWorkerOpResult {
+ nsresult;
+ ServiceWorkerCheckScriptEvaluationOpResult;
+ ServiceWorkerFetchEventOpResult;
+};
+
+} // namespace dom
+} // namespace mozilla