summaryrefslogtreecommitdiffstats
path: root/toolkit/components/sessionstore/SessionStoreData.h
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/sessionstore/SessionStoreData.h')
-rw-r--r--toolkit/components/sessionstore/SessionStoreData.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/toolkit/components/sessionstore/SessionStoreData.h b/toolkit/components/sessionstore/SessionStoreData.h
new file mode 100644
index 0000000000..0df1ea5bf5
--- /dev/null
+++ b/toolkit/components/sessionstore/SessionStoreData.h
@@ -0,0 +1,61 @@
+/* -*- 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/. */
+
+#ifndef mozilla_dom_SessionStoreData_h
+#define mozilla_dom_SessionStoreData_h
+
+#include "nsString.h"
+#include "nsTArray.h"
+#include "mozilla/dom/SessionStoreUtilsBinding.h"
+#include "mozilla/Variant.h"
+
+typedef mozilla::Variant<nsString, bool,
+ mozilla::dom::CollectedNonMultipleSelectValue,
+ CopyableTArray<nsString>>
+ InputDataValue;
+
+/*
+ * Need two arrays based on this struct.
+ * One is for elements with id one is for XPath.
+ *
+ * id: id or XPath
+ * type: type of this input element
+ * bool: value is boolean
+ * string: value is nsString
+ * file: value is "arrayVal"
+ * singleSelect: value is "singleSelect"
+ * multipleSelect: value is "arrayVal"
+ *
+ * There are four value types:
+ * strVal: nsString
+ * boolVal: boolean
+ * singleSelect: single select value
+ * arrayVal: nsString array
+ */
+struct CollectedInputDataValue {
+ nsString id;
+ nsString type;
+ InputDataValue value{false};
+
+ CollectedInputDataValue() = default;
+};
+
+/*
+ * Each index of the following array is corresponging to each frame.
+ * descendants: number of child frames of this frame
+ * innerHTML: innerHTML of this frame
+ * url: url of this frame
+ * numId: number of containing elements with id for this frame
+ * numXPath: number of containing elements with XPath for this frame
+ */
+struct InputFormData {
+ int32_t descendants;
+ nsString innerHTML;
+ nsCString url;
+ int32_t numId;
+ int32_t numXPath;
+};
+
+#endif /* mozilla_dom_SessionStoreData_h */