File: FetchTypes.ipdlh

package info (click to toggle)
firefox 147.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,484 kB
  • sloc: cpp: 7,607,246; javascript: 6,533,185; ansic: 3,775,227; python: 1,415,393; xml: 634,561; asm: 438,951; java: 186,241; sh: 62,752; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (132 lines) | stat: -rw-r--r-- 3,801 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/* 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 IPCStream;
include PBackgroundSharedTypes;
include PerformanceTimingTypes;
include NeckoChannelParams;

include "mozilla/dom/FetchIPCTypes.h";
include "mozilla/ipc/TransportSecurityInfoUtils.h";

using mozilla::dom::HeadersGuardEnum from "mozilla/dom/HeadersBinding.h";
using mozilla::dom::ReferrerPolicy from "mozilla/dom/ReferrerPolicyBinding.h";
using mozilla::dom::RequestCache from "mozilla/dom/RequestBinding.h";
using mozilla::dom::RequestCredentials from "mozilla/dom/RequestBinding.h";
using mozilla::dom::RequestRedirect from "mozilla/dom/RequestBinding.h";
using mozilla::dom::RequestPriority from "mozilla/dom/RequestBinding.h";
using mozilla::dom::ResponseType from "mozilla/dom/ResponseBinding.h";
using struct nsID from "nsID.h";
using mozilla::dom::FetchDriverObserver::EndReason from "mozilla/dom/FetchDriver.h";
using nsContentPolicyType from "nsIContentPolicy.h";
using nsILoadInfo::CrossOriginEmbedderPolicy from "nsILoadInfo.h";
[RefCounted] using class mozilla::RemoteLazyInputStream from "mozilla/RemoteLazyInputStream.h";
[RefCounted] using class nsITransportSecurityInfo from "nsITransportSecurityInfo.h";

namespace mozilla {
namespace dom {

struct HeadersEntry {
  nsCString name;
  nsCString value;
};

struct ParentToParentStream {
  // Used as a key for RemoteLazyInputStreamStorage
  nsID uuid;
};

union ParentToChildStream {
  nullable RemoteLazyInputStream;
  IPCStream;
};

struct ChildToParentStream {
  IPCStream stream;
};

union BodyStreamVariant {
  ParentToParentStream;
  ParentToChildStream;
  ChildToParentStream;
};

struct IPCInternalRequest {
  nsCString method;
  nsCString[] urlList;
  HeadersGuardEnum headersGuard;
  HeadersEntry[] headers;
  BodyStreamVariant? body;
  int64_t bodySize;
  nsCString preferredAlternativeDataType;
  nsContentPolicyType contentPolicyType;
  int32_t internalPriority;
  nsCString referrer;
  ReferrerPolicy referrerPolicy;
  ReferrerPolicy environmentReferrerPolicy;
  RequestMode requestMode;
  RequestCredentials requestCredentials;
  RequestCache cacheMode;
  RequestRedirect requestRedirect;
  RequestPriority requestPriority;
  nsString integrity;
  bool keepalive;
  nsCString fragment;
  PrincipalInfo? principalInfo;
  PrincipalInfo? interceptionTriggeringPrincipalInfo;
  nsContentPolicyType interceptionContentPolicyType;
  RedirectHistoryEntryInfo[] interceptionRedirectChain;
  bool interceptionFromThirdParty;
  CrossOriginEmbedderPolicy embedderPolicy;
};

struct InternalResponseMetadata {
  ResponseType type;
  nsCString[] urlList;
  uint16_t status;
  nsCString statusText;
  HeadersGuardEnum headersGuard;
  HeadersEntry[] headers;
  nsresult errorCode;
  nsCString alternativeDataType;
  nullable nsITransportSecurityInfo securityInfo;
  PrincipalInfo? principalInfo;
  nsCString bodyBlobURISpec;
  nsString bodyLocalPath;
  RequestCredentials credentialsMode;
};

struct ParentToParentInternalResponse {
  InternalResponseMetadata metadata;
  ParentToParentStream? body;
  int64_t bodySize;
  ParentToParentStream? alternativeBody;
};

struct ParentToChildInternalResponse {
  InternalResponseMetadata metadata;
  ParentToChildStream? body;
  int64_t bodySize;
  ParentToChildStream? alternativeBody;
};

struct ChildToParentInternalResponse {
  InternalResponseMetadata metadata;
  ChildToParentStream? body;
  int64_t bodySize;
  ChildToParentStream? alternativeBody;
};

struct ResponseTiming {
  IPCPerformanceTimingData timingData;
  nsString initiatorType;
  nsString entryName;
};

struct ResponseEndArgs {
  EndReason endReason;
};

} // namespace ipc
} // namespace mozilla