1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 ts=8 et tw=80 ft=c: */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 include protocol PHttpChannel;
9 include protocol PFTPChannel;
10 include protocol PRtspChannel;
12 include InputStreamParams;
13 include PBackgroundSharedTypes;
15 using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
16 using RequestHeaderTuples from "mozilla/net/PHttpChannelParams.h";
17 using struct nsHttpAtom from "nsHttp.h";
22 //-----------------------------------------------------------------------------
24 //-----------------------------------------------------------------------------
26 struct HttpChannelOpenArgs
29 // - TODO: bug 571161: unclear if any HTTP channel clients ever
30 // set originalURI != uri (about:credits?); also not clear if
31 // chrome channel would ever need to know. Get rid of next arg?
32 OptionalURIParams original;
33 OptionalURIParams doc;
34 OptionalURIParams referrer;
35 uint32_t referrerPolicy;
36 OptionalURIParams apiRedirectTo;
37 OptionalURIParams topWindowURI;
39 RequestHeaderTuples requestHeaders;
40 nsCString requestMethod;
41 OptionalInputStreamParams uploadStream;
42 bool uploadStreamHasHeaders;
44 uint32_t classOfService;
45 uint8_t redirectionLimit;
48 uint32_t thirdPartyFlags;
52 bool chooseApplicationCache;
53 nsCString appCacheClientID;
55 OptionalFileDescriptorSet fds;
56 PrincipalInfo requestingPrincipalInfo;
57 PrincipalInfo triggeringPrincipalInfo;
58 uint32_t securityFlags;
59 uint32_t contentPolicyType;
60 uint32_t innerWindowID;
63 struct HttpChannelConnectArgs
68 union HttpChannelCreationArgs
70 HttpChannelOpenArgs; // For AsyncOpen: the common case.
71 HttpChannelConnectArgs; // Used for redirected-to channels
74 //-----------------------------------------------------------------------------
76 //-----------------------------------------------------------------------------
78 struct FTPChannelOpenArgs
83 OptionalInputStreamParams uploadStream;
84 PrincipalInfo requestingPrincipalInfo;
85 PrincipalInfo triggeringPrincipalInfo;
86 uint32_t securityFlags;
87 uint32_t contentPolicyType;
88 uint32_t innerWindowID;
91 struct FTPChannelConnectArgs
96 union FTPChannelCreationArgs
98 FTPChannelOpenArgs; // For AsyncOpen: the common case.
99 FTPChannelConnectArgs; // Used for redirected-to channels
102 struct HttpChannelDiverterArgs
104 PHttpChannel mChannel;
105 bool mApplyConversion;
108 union ChannelDiverterArgs
110 HttpChannelDiverterArgs;
114 //-----------------------------------------------------------------------------
116 //-----------------------------------------------------------------------------
118 struct RtspChannelConnectArgs
125 } // namespace mozilla