summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/IPCServiceWorkerRegistrationDescriptor.ipdlh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/serviceworkers/IPCServiceWorkerRegistrationDescriptor.ipdlh
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/serviceworkers/IPCServiceWorkerRegistrationDescriptor.ipdlh')
-rw-r--r--dom/serviceworkers/IPCServiceWorkerRegistrationDescriptor.ipdlh58
1 files changed, 58 insertions, 0 deletions
diff --git a/dom/serviceworkers/IPCServiceWorkerRegistrationDescriptor.ipdlh b/dom/serviceworkers/IPCServiceWorkerRegistrationDescriptor.ipdlh
new file mode 100644
index 0000000000..5619ba55de
--- /dev/null
+++ b/dom/serviceworkers/IPCServiceWorkerRegistrationDescriptor.ipdlh
@@ -0,0 +1,58 @@
+/* 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 PBackgroundSharedTypes;
+include IPCServiceWorkerDescriptor;
+
+include "ipc/ErrorIPCUtils.h";
+include "mozilla/dom/ServiceWorkerIPCUtils.h";
+
+using mozilla::dom::ServiceWorkerUpdateViaCache from "mozilla/dom/ServiceWorkerRegistrationBinding.h";
+using mozilla::CopyableErrorResult from "mozilla/ErrorResult.h";
+
+namespace mozilla {
+namespace dom {
+
+// IPC type with enough information to create a ServiceWorker DOM object
+// in a child process. Note that the state may be slightly out-of-sync
+// with the parent and should be updated dynamically if necessary.
+[Comparable] struct IPCServiceWorkerRegistrationDescriptor
+{
+ uint64_t id;
+ uint64_t version;
+
+ // These values should match the principal and scope in each
+ // associated worker. It may be possible to optimize in the future,
+ // but for now we duplicate the information here to ensure correctness.
+ // Its possible we may need to reference a registration before the
+ // worker is installed yet, etc.
+ PrincipalInfo principalInfo;
+ nsCString scope;
+
+ ServiceWorkerUpdateViaCache updateViaCache;
+
+ IPCServiceWorkerDescriptor? installing;
+ IPCServiceWorkerDescriptor? waiting;
+ IPCServiceWorkerDescriptor? active;
+};
+
+union IPCServiceWorkerRegistrationDescriptorOrCopyableErrorResult
+{
+ IPCServiceWorkerRegistrationDescriptor;
+ CopyableErrorResult;
+};
+
+struct IPCServiceWorkerRegistrationDescriptorList
+{
+ IPCServiceWorkerRegistrationDescriptor[] values;
+};
+
+union IPCServiceWorkerRegistrationDescriptorListOrCopyableErrorResult
+{
+ IPCServiceWorkerRegistrationDescriptorList;
+ CopyableErrorResult;
+};
+
+} // namespace dom
+} // namespace mozilla