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