diff -r 000000000000 -r 6474c204b198 netwerk/ipc/NeckoChannelParams.ipdlh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netwerk/ipc/NeckoChannelParams.ipdlh Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,104 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set sw=2 ts=8 et tw=80 ft=c: */ + +/* 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/. */ + +include protocol PHttpChannel; +include protocol PFTPChannel; +include protocol PRtspChannel; +include URIParams; +include InputStreamParams; + +using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; +using RequestHeaderTuples from "mozilla/net/PHttpChannelParams.h"; +using struct nsHttpAtom from "nsHttp.h"; + +namespace mozilla { +namespace net { + +//----------------------------------------------------------------------------- +// HTTP IPDL structs +//----------------------------------------------------------------------------- + +struct HttpChannelOpenArgs +{ + URIParams uri; + // - TODO: bug 571161: unclear if any HTTP channel clients ever + // set originalURI != uri (about:credits?); also not clear if + // chrome channel would ever need to know. Get rid of next arg? + OptionalURIParams original; + OptionalURIParams doc; + OptionalURIParams referrer; + OptionalURIParams apiRedirectTo; + uint32_t loadFlags; + RequestHeaderTuples requestHeaders; + nsCString requestMethod; + OptionalInputStreamParams uploadStream; + bool uploadStreamHasHeaders; + uint16_t priority; + uint8_t redirectionLimit; + bool allowPipelining; + bool forceAllowThirdPartyCookie; + bool resumeAt; + uint64_t startPos; + nsCString entityID; + bool chooseApplicationCache; + nsCString appCacheClientID; + bool allowSpdy; + OptionalFileDescriptorSet fds; +}; + +struct HttpChannelConnectArgs +{ + uint32_t channelId; +}; + +union HttpChannelCreationArgs +{ + HttpChannelOpenArgs; // For AsyncOpen: the common case. + HttpChannelConnectArgs; // Used for redirected-to channels +}; + +//----------------------------------------------------------------------------- +// FTP IPDL structs +//----------------------------------------------------------------------------- + +struct FTPChannelOpenArgs +{ + URIParams uri; + uint64_t startPos; + nsCString entityID; + OptionalInputStreamParams uploadStream; +}; + +struct FTPChannelConnectArgs +{ + uint32_t channelId; +}; + +union FTPChannelCreationArgs +{ + FTPChannelOpenArgs; // For AsyncOpen: the common case. + FTPChannelConnectArgs; // Used for redirected-to channels +}; + +union ChannelDiverterArgs +{ + PHttpChannel; + PFTPChannel; +}; + +//----------------------------------------------------------------------------- +// RTSP IPDL structs +//----------------------------------------------------------------------------- + +struct RtspChannelConnectArgs +{ + URIParams uri; + uint32_t channelId; +}; + +} // namespace ipc +} // namespace mozilla