1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 include PBackgroundSharedTypes;
9 include protocol PRemoteLazyInputStream;
11 include "mozilla/dom/FetchIPCTypes.h";
13 using HeadersGuardEnum from "mozilla/dom/HeadersBinding.h";
14 using ReferrerPolicy from "mozilla/dom/ReferrerPolicyBinding.h";
15 using RequestCache from "mozilla/dom/RequestBinding.h";
16 using RequestCredentials from "mozilla/dom/RequestBinding.h";
17 using RequestMode from "mozilla/dom/RequestBinding.h";
18 using RequestRedirect from "mozilla/dom/RequestBinding.h";
19 using ResponseType from "mozilla/dom/ResponseBinding.h";
20 using struct nsID from "nsID.h";
30 struct ParentToParentStream {
31 // Used as a key for RemoteLazyInputStreamStorage
35 struct ParentToChildStream {
36 PRemoteLazyInputStream actor;
39 struct ChildToParentStream {
43 union BodyStreamVariant {
49 struct IPCInternalRequest {
52 HeadersGuardEnum headersGuard;
53 HeadersEntry[] headers;
54 BodyStreamVariant? body;
56 nsCString preferredAlternativeDataType;
57 uint32_t contentPolicyType;
59 ReferrerPolicy referrerPolicy;
60 RequestMode requestMode;
61 RequestCredentials requestCredentials;
62 RequestCache cacheMode;
63 RequestRedirect requestRedirect;
66 PrincipalInfo? principalInfo;
69 struct IPCInternalResponse {
74 HeadersGuardEnum headersGuard;
75 HeadersEntry[] headers;
76 BodyStreamVariant? body;
79 nsCString alternativeDataType;
80 BodyStreamVariant? alternativeBody;
81 IPCChannelInfo channelInfo;
82 PrincipalInfo? principalInfo;
86 } // namespace mozilla