DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (e5ef045527c6)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
/* 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
{
  URIParams? 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;
  bool revoked;
};

union URIParams
{
  SimpleURIParams;
  StandardURLParams;
  JARURIParams;
  IconURIParams;
  NullPrincipalURIParams;
  JSURIParams;
  SimpleNestedURIParams;
  HostObjectURIParams;
};

struct JSURIParams
{
  SimpleURIParams simpleParams;
  URIParams? baseURI;
};

struct SimpleNestedURIParams
{
  SimpleURIParams simpleParams;
  URIParams innerURI;
};

} // namespace ipc
} // namespace mozilla