summaryrefslogtreecommitdiffstats
path: root/ipc/glue/URIParams.ipdlh
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/glue/URIParams.ipdlh')
-rw-r--r--ipc/glue/URIParams.ipdlh112
1 files changed, 112 insertions, 0 deletions
diff --git a/ipc/glue/URIParams.ipdlh b/ipc/glue/URIParams.ipdlh
new file mode 100644
index 000000000..8b8ba3559
--- /dev/null
+++ b/ipc/glue/URIParams.ipdlh
@@ -0,0 +1,112 @@
+/* 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::void_t from "ipc/IPCMessageUtils.h";
+
+include PBackgroundSharedTypes;
+
+namespace mozilla {
+namespace ipc {
+
+struct SimpleURIParams
+{
+ nsCString scheme;
+ nsCString path;
+ nsCString ref;
+ nsCString query;
+ bool isMutable;
+};
+
+struct StandardURLSegment
+{
+ uint32_t position;
+ int32_t length;
+};
+
+struct StandardURLParams
+{
+ uint32_t urlType;
+ int32_t port;
+ int32_t defaultPort;
+ nsCString spec;
+ StandardURLSegment scheme;
+ StandardURLSegment authority;
+ StandardURLSegment username;
+ StandardURLSegment password;
+ StandardURLSegment host;
+ StandardURLSegment path;
+ StandardURLSegment filePath;
+ StandardURLSegment directory;
+ StandardURLSegment baseName;
+ StandardURLSegment extension;
+ StandardURLSegment query;
+ StandardURLSegment ref;
+ nsCString originCharset;
+ bool isMutable;
+ bool supportsFileURL;
+ uint32_t hostEncoding;
+};
+
+struct JARURIParams
+{
+ URIParams jarFile;
+ URIParams jarEntry;
+ nsCString charset;
+};
+
+struct IconURIParams
+{
+ OptionalURIParams uri;
+ uint32_t size;
+ nsCString contentType;
+ nsCString fileName;
+ nsCString stockIcon;
+ int32_t iconSize;
+ int32_t iconState;
+};
+
+struct NullPrincipalURIParams
+{
+ // Purposefully empty. Null principal URIs do not round-trip.
+};
+
+struct HostObjectURIParams
+{
+ SimpleURIParams simpleParams;
+ OptionalPrincipalInfo principal;
+};
+
+union URIParams
+{
+ SimpleURIParams;
+ StandardURLParams;
+ JARURIParams;
+ IconURIParams;
+ NullPrincipalURIParams;
+ JSURIParams;
+ SimpleNestedURIParams;
+ HostObjectURIParams;
+};
+
+union OptionalURIParams
+{
+ void_t;
+ URIParams;
+};
+
+struct JSURIParams
+{
+ SimpleURIParams simpleParams;
+ OptionalURIParams baseURI;
+};
+
+struct SimpleNestedURIParams
+{
+ SimpleURIParams simpleParams;
+ URIParams innerURI;
+};
+
+} // namespace ipc
+} // namespace mozilla