tenfourfox/ipc/glue/URIParams.ipdlh

112 lines
1.9 KiB
Plaintext

/* 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;
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