123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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 protocol PSendStream;
- include BlobTypes;
- include URIParams;
- include IPCStream;
- include InputStreamParams;
- include PBackgroundSharedTypes;
- using mozilla::NeckoOriginAttributes from "mozilla/ipc/BackgroundUtils.h";
- using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
- using RequestHeaderTuples from "mozilla/net/PHttpChannelParams.h";
- using struct nsHttpAtom from "nsHttp.h";
- using class nsHttpResponseHead from "nsHttpResponseHead.h";
- using class mozilla::TimeStamp from "mozilla/TimeStamp.h";
- namespace mozilla {
- namespace net {
- //-----------------------------------------------------------------------------
- // LoadInfo IPDL structs
- //-----------------------------------------------------------------------------
- struct LoadInfoArgs
- {
- OptionalPrincipalInfo requestingPrincipalInfo;
- PrincipalInfo triggeringPrincipalInfo;
- OptionalPrincipalInfo principalToInheritInfo;
- uint32_t securityFlags;
- uint32_t contentPolicyType;
- uint32_t tainting;
- bool upgradeInsecureRequests;
- bool verifySignedContent;
- bool enforceSRI;
- bool forceAllowDataURI;
- bool forceInheritPrincipalDropped;
- uint64_t innerWindowID;
- uint64_t outerWindowID;
- uint64_t parentOuterWindowID;
- uint64_t frameOuterWindowID;
- bool enforceSecurity;
- bool initialSecurityCheckDone;
- bool isInThirdPartyContext;
- NeckoOriginAttributes originAttributes;
- PrincipalInfo[] redirectChainIncludingInternalRedirects;
- PrincipalInfo[] redirectChain;
- nsCString[] corsUnsafeHeaders;
- bool forcePreflight;
- bool isPreflight;
- bool loadTriggeredFromExternal;
- bool isFromProcessingFrameAttributes;
- };
- /**
- * Not every channel necessarily has a loadInfo attached.
- */
- union OptionalLoadInfoArgs
- {
- void_t;
- LoadInfoArgs;
- };
- //-----------------------------------------------------------------------------
- // HTTP IPDL structs
- //-----------------------------------------------------------------------------
- union OptionalHttpResponseHead
- {
- void_t;
- nsHttpResponseHead;
- };
- struct CorsPreflightArgs
- {
- nsCString[] unsafeHeaders;
- };
- union OptionalCorsPreflightArgs
- {
- void_t;
- CorsPreflightArgs;
- };
- 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;
- uint32_t referrerPolicy;
- OptionalURIParams apiRedirectTo;
- OptionalURIParams topWindowURI;
- uint32_t loadFlags;
- RequestHeaderTuples requestHeaders;
- nsCString requestMethod;
- OptionalIPCStream uploadStream;
- bool uploadStreamHasHeaders;
- uint16_t priority;
- uint32_t classOfService;
- uint8_t redirectionLimit;
- bool allowPipelining;
- bool allowSTS;
- uint32_t thirdPartyFlags;
- bool resumeAt;
- uint64_t startPos;
- nsCString entityID;
- bool chooseApplicationCache;
- nsCString appCacheClientID;
- bool allowSpdy;
- bool allowAltSvc;
- bool beConservative;
- OptionalLoadInfoArgs loadInfo;
- OptionalHttpResponseHead synthesizedResponseHead;
- nsCString synthesizedSecurityInfoSerialization;
- uint32_t cacheKey;
- nsCString requestContextID;
- OptionalCorsPreflightArgs preflightArgs;
- uint32_t initialRwin;
- bool blockAuthPrompt;
- bool suspendAfterSynthesizeResponse;
- bool allowStaleCacheContent;
- nsCString contentTypeHint;
- nsCString channelId;
- uint64_t contentWindowId;
- nsCString preferredAlternativeType;
- TimeStamp launchServiceWorkerStart;
- TimeStamp launchServiceWorkerEnd;
- TimeStamp dispatchFetchEventStart;
- TimeStamp dispatchFetchEventEnd;
- TimeStamp handleFetchEventStart;
- TimeStamp handleFetchEventEnd;
- };
- struct HttpChannelConnectArgs
- {
- uint32_t registrarId;
- bool shouldIntercept;
- };
- 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;
- OptionalLoadInfoArgs loadInfo;
- };
- struct FTPChannelConnectArgs
- {
- uint32_t channelId;
- };
- union FTPChannelCreationArgs
- {
- FTPChannelOpenArgs; // For AsyncOpen: the common case.
- FTPChannelConnectArgs; // Used for redirected-to channels
- };
- struct HttpChannelDiverterArgs
- {
- PHttpChannel mChannel;
- bool mApplyConversion;
- };
- union ChannelDiverterArgs
- {
- HttpChannelDiverterArgs;
- PFTPChannel;
- };
- //-----------------------------------------------------------------------------
- // RTSP IPDL structs
- //-----------------------------------------------------------------------------
- struct RtspChannelConnectArgs
- {
- URIParams uri;
- uint32_t channelId;
- };
- } // namespace ipc
- } // namespace mozilla
|