summaryrefslogtreecommitdiffstats
path: root/dom/ipc/PrefsTypes.ipdlh
diff options
context:
space:
mode:
Diffstat (limited to 'dom/ipc/PrefsTypes.ipdlh')
-rw-r--r--dom/ipc/PrefsTypes.ipdlh32
1 files changed, 32 insertions, 0 deletions
diff --git a/dom/ipc/PrefsTypes.ipdlh b/dom/ipc/PrefsTypes.ipdlh
new file mode 100644
index 0000000000..403c7aaf42
--- /dev/null
+++ b/dom/ipc/PrefsTypes.ipdlh
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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/. */
+
+using struct mozilla::null_t from "mozilla/ipc/IPCCore.h";
+
+namespace mozilla {
+namespace dom {
+
+union PrefValue {
+ nsCString;
+ int32_t;
+ bool;
+};
+
+// This serialization form mirrors that used in mozilla::Pref in
+// Preferences.cpp. The two should be kept in sync, e.g. if something is added
+// to one it should also be added to the other.
+//
+// Note: there is no need to pass the isSticky attribute because that's an
+// immutable attribute obtained from file at startup.
+struct Pref {
+ nsCString name;
+ bool isLocked;
+ bool isSanitized;
+ PrefValue? defaultValue;
+ PrefValue? userValue;
+};
+
+} // namespace dom
+} // namespace mozilla