gecko-dev/ipc/glue/URIParams.ipdlh
Valentin Gosu bd4365d7e7 Bug 1448058 - Remove nsIMutable from URI implementations r=mayhemer
* Also removes NS_TryToMakeImmutable, NS_TryToSetImmutable, URIIsImmutable
* NS_EnsureSafeToReturn, nsINetUtil.toImmutableURI

MozReview-Commit-ID: 5eFtFm2CQt7

--HG--
extra : rebase_source : 1f3d23ec646883e76844d42113bc1c71c01a1ad7
2018-05-09 18:21:24 +02:00

109 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;
nsCString query;
};
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;
bool supportsFileURL;
};
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