Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/nsILoadInfo.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /src/mozilla-central/netwerk/base/nsILoadInfo.idl
3
 */
4
5
#ifndef __gen_nsILoadInfo_h__
6
#define __gen_nsILoadInfo_h__
7
8
9
#ifndef __gen_nsISupports_h__
10
#include "nsISupports.h"
11
#endif
12
13
#ifndef __gen_nsIContentPolicy_h__
14
#include "nsIContentPolicy.h"
15
#endif
16
17
#include "js/Value.h"
18
19
#include "mozilla/AlreadyAddRefed.h"
20
#include "mozilla/Assertions.h"
21
#include "mozilla/DebugOnly.h"
22
23
/* For IDL files that don't want to include root IDL files. */
24
#ifndef NS_NO_VTABLE
25
#define NS_NO_VTABLE
26
#endif
27
class nsIChannel; /* forward declaration */
28
29
class nsINode; /* forward declaration */
30
31
class nsIPrincipal; /* forward declaration */
32
33
class nsIRedirectHistoryEntry; /* forward declaration */
34
35
class nsIURI; /* forward declaration */
36
37
class nsIDocument; /* webidl Document */
38
39
#include "nsTArray.h"
40
#include "mozilla/BasePrincipal.h"
41
#include "mozilla/LoadTainting.h"
42
#include "mozilla/UniquePtr.h"
43
#include "mozilla/TelemetryHistogramEnums.h"
44
#include "nsStringFwd.h"
45
namespace mozilla {
46
namespace dom {
47
class ClientInfo;
48
class ClientSource;
49
class PerformanceStorage;
50
class ServiceWorkerDescriptor;
51
} // namespace dom
52
} // namespace mozilla
53
typedef uint32_t  nsSecurityFlags;
54
55
56
/* starting interface:    nsILoadInfo */
57
#define NS_ILOADINFO_IID_STR "ddc65bf9-2f60-41ab-b22a-4f1ae9efcd36"
58
59
#define NS_ILOADINFO_IID \
60
  {0xddc65bf9, 0x2f60, 0x41ab, \
61
    { 0xb2, 0x2a, 0x4f, 0x1a, 0xe9, 0xef, 0xcd, 0x36 }}
62
63
class nsILoadInfo : public nsISupports {
64
 public:
65
66
  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ILOADINFO_IID)
67
68
  enum {
69
    SEC_ONLY_FOR_EXPLICIT_CONTENTSEC_CHECK = 0U,
70
    SEC_REQUIRE_SAME_ORIGIN_DATA_INHERITS = 1U,
71
    SEC_REQUIRE_SAME_ORIGIN_DATA_IS_BLOCKED = 2U,
72
    SEC_ALLOW_CROSS_ORIGIN_DATA_INHERITS = 4U,
73
    SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL = 8U,
74
    SEC_REQUIRE_CORS_DATA_INHERITS = 16U,
75
    SEC_COOKIES_DEFAULT = 0U,
76
    SEC_COOKIES_INCLUDE = 32U,
77
    SEC_COOKIES_SAME_ORIGIN = 64U,
78
    SEC_COOKIES_OMIT = 96U,
79
    SEC_FORCE_INHERIT_PRINCIPAL = 128U,
80
    SEC_SANDBOXED = 256U,
81
    SEC_ABOUT_BLANK_INHERITS = 512U,
82
    SEC_ALLOW_CHROME = 1024U,
83
    SEC_DISALLOW_SCRIPT = 2048U,
84
    SEC_DONT_FOLLOW_REDIRECTS = 4096U,
85
    SEC_LOAD_ERROR_PAGE = 8192U,
86
    SEC_FORCE_INHERIT_PRINCIPAL_OVERRULE_OWNER = 16384U
87
  };
88
89
  /* readonly attribute nsIPrincipal loadingPrincipal; */
90
  NS_IMETHOD GetLoadingPrincipal(nsIPrincipal **aLoadingPrincipal) = 0;
91
92
  /* [binaryname(LoadingPrincipal),noscript,nostdcall,notxpcom] nsIPrincipal binaryLoadingPrincipal (); */
93
  virtual nsIPrincipal * LoadingPrincipal(void) = 0;
94
95
  /* readonly attribute nsIPrincipal triggeringPrincipal; */
96
  NS_IMETHOD GetTriggeringPrincipal(nsIPrincipal **aTriggeringPrincipal) = 0;
97
98
  /* [binaryname(TriggeringPrincipal),noscript,nostdcall,notxpcom] nsIPrincipal binaryTriggeringPrincipal (); */
99
  virtual nsIPrincipal * TriggeringPrincipal(void) = 0;
100
101
  /* attribute nsIPrincipal principalToInherit; */
102
  NS_IMETHOD GetPrincipalToInherit(nsIPrincipal **aPrincipalToInherit) = 0;
103
  NS_IMETHOD SetPrincipalToInherit(nsIPrincipal *aPrincipalToInherit) = 0;
104
105
  /* [binaryname(PrincipalToInherit),noscript,nostdcall,notxpcom] nsIPrincipal binaryPrincipalToInherit (); */
106
  virtual nsIPrincipal * PrincipalToInherit(void) = 0;
107
108
  /* [noscript,nostdcall,notxpcom] nsIPrincipal FindPrincipalToInherit (in nsIChannel aChannel); */
109
  virtual nsIPrincipal * FindPrincipalToInherit(nsIChannel *aChannel) = 0;
110
111
  /* readonly attribute Document loadingDocument; */
112
  NS_IMETHOD GetLoadingDocument(nsIDocument **aLoadingDocument) = 0;
113
114
  /* [binaryname(LoadingNode),noscript,nostdcall,notxpcom] nsINode binaryLoadingNode (); */
115
  virtual nsINode * LoadingNode(void) = 0;
116
117
  /* [binaryname(ContextForTopLevelLoad),noscript,nostdcall,notxpcom] LoadContextRef binaryContextForTopLevelLoad (); */
118
  virtual already_AddRefed<nsISupports> ContextForTopLevelLoad(void) = 0;
119
120
  /* [binaryname(LoadingContextXPCOM)] readonly attribute nsISupports loadingContext; */
121
  NS_IMETHOD GetLoadingContextXPCOM(nsISupports **aLoadingContext) = 0;
122
123
  /* [binaryname(GetLoadingContext),noscript,nostdcall,notxpcom] LoadContextRef binaryGetLoadingContext (); */
124
  virtual already_AddRefed<nsISupports> GetLoadingContext(void) = 0;
125
126
  /* readonly attribute nsSecurityFlags securityFlags; */
127
  NS_IMETHOD GetSecurityFlags(nsSecurityFlags *aSecurityFlags) = 0;
128
129
   inline nsSecurityFlags GetSecurityFlags()
130
0
  {
131
0
    nsSecurityFlags result;
132
0
    mozilla::DebugOnly<nsresult> rv = GetSecurityFlags(&result);
133
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
134
0
    return result;
135
0
  }
136
  /* [infallible] readonly attribute unsigned long securityMode; */
137
  NS_IMETHOD GetSecurityMode(uint32_t *aSecurityMode) = 0;
138
  inline uint32_t GetSecurityMode()
139
20
  {
140
20
    uint32_t result;
141
20
    mozilla::DebugOnly<nsresult> rv = GetSecurityMode(&result);
142
20
    MOZ_ASSERT(NS_SUCCEEDED(rv));
143
20
    return result;
144
20
  }
145
146
  /* [infallible] readonly attribute boolean isInThirdPartyContext; */
147
  NS_IMETHOD GetIsInThirdPartyContext(bool *aIsInThirdPartyContext) = 0;
148
  inline bool GetIsInThirdPartyContext()
149
0
  {
150
0
    bool result;
151
0
    mozilla::DebugOnly<nsresult> rv = GetIsInThirdPartyContext(&result);
152
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
153
0
    return result;
154
0
  }
155
156
  /* [infallible] readonly attribute unsigned long cookiePolicy; */
157
  NS_IMETHOD GetCookiePolicy(uint32_t *aCookiePolicy) = 0;
158
  inline uint32_t GetCookiePolicy()
159
5
  {
160
5
    uint32_t result;
161
5
    mozilla::DebugOnly<nsresult> rv = GetCookiePolicy(&result);
162
5
    MOZ_ASSERT(NS_SUCCEEDED(rv));
163
5
    return result;
164
5
  }
165
166
  /* [infallible] readonly attribute boolean forceInheritPrincipal; */
167
  NS_IMETHOD GetForceInheritPrincipal(bool *aForceInheritPrincipal) = 0;
168
  inline bool GetForceInheritPrincipal()
169
0
  {
170
0
    bool result;
171
0
    mozilla::DebugOnly<nsresult> rv = GetForceInheritPrincipal(&result);
172
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
173
0
    return result;
174
0
  }
175
176
  /* [infallible] readonly attribute boolean forceInheritPrincipalOverruleOwner; */
177
  NS_IMETHOD GetForceInheritPrincipalOverruleOwner(bool *aForceInheritPrincipalOverruleOwner) = 0;
178
  inline bool GetForceInheritPrincipalOverruleOwner()
179
0
  {
180
0
    bool result;
181
0
    mozilla::DebugOnly<nsresult> rv = GetForceInheritPrincipalOverruleOwner(&result);
182
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
183
0
    return result;
184
0
  }
185
186
  /* [infallible] readonly attribute boolean loadingSandboxed; */
187
  NS_IMETHOD GetLoadingSandboxed(bool *aLoadingSandboxed) = 0;
188
  inline bool GetLoadingSandboxed()
189
9
  {
190
9
    bool result;
191
9
    mozilla::DebugOnly<nsresult> rv = GetLoadingSandboxed(&result);
192
9
    MOZ_ASSERT(NS_SUCCEEDED(rv));
193
9
    return result;
194
9
  }
195
196
  /* [infallible] readonly attribute boolean aboutBlankInherits; */
197
  NS_IMETHOD GetAboutBlankInherits(bool *aAboutBlankInherits) = 0;
198
  inline bool GetAboutBlankInherits()
199
0
  {
200
0
    bool result;
201
0
    mozilla::DebugOnly<nsresult> rv = GetAboutBlankInherits(&result);
202
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
203
0
    return result;
204
0
  }
205
206
  /* [infallible] readonly attribute boolean allowChrome; */
207
  NS_IMETHOD GetAllowChrome(bool *aAllowChrome) = 0;
208
  inline bool GetAllowChrome()
209
0
  {
210
0
    bool result;
211
0
    mozilla::DebugOnly<nsresult> rv = GetAllowChrome(&result);
212
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
213
0
    return result;
214
0
  }
215
216
  /* [infallible] readonly attribute boolean disallowScript; */
217
  NS_IMETHOD GetDisallowScript(bool *aDisallowScript) = 0;
218
  inline bool GetDisallowScript()
219
0
  {
220
0
    bool result;
221
0
    mozilla::DebugOnly<nsresult> rv = GetDisallowScript(&result);
222
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
223
0
    return result;
224
0
  }
225
226
  /* [infallible] readonly attribute boolean dontFollowRedirects; */
227
  NS_IMETHOD GetDontFollowRedirects(bool *aDontFollowRedirects) = 0;
228
  inline bool GetDontFollowRedirects()
229
0
  {
230
0
    bool result;
231
0
    mozilla::DebugOnly<nsresult> rv = GetDontFollowRedirects(&result);
232
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
233
0
    return result;
234
0
  }
235
236
  /* [infallible] readonly attribute boolean loadErrorPage; */
237
  NS_IMETHOD GetLoadErrorPage(bool *aLoadErrorPage) = 0;
238
  inline bool GetLoadErrorPage()
239
0
  {
240
0
    bool result;
241
0
    mozilla::DebugOnly<nsresult> rv = GetLoadErrorPage(&result);
242
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
243
0
    return result;
244
0
  }
245
246
  /* [infallible] attribute boolean isDocshellReload; */
247
  NS_IMETHOD GetIsDocshellReload(bool *aIsDocshellReload) = 0;
248
  inline bool GetIsDocshellReload()
249
0
  {
250
0
    bool result;
251
0
    mozilla::DebugOnly<nsresult> rv = GetIsDocshellReload(&result);
252
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
253
0
    return result;
254
0
  }
255
  NS_IMETHOD SetIsDocshellReload(bool aIsDocshellReload) = 0;
256
257
  /* readonly attribute nsContentPolicyType externalContentPolicyType; */
258
  NS_IMETHOD GetExternalContentPolicyType(nsContentPolicyType *aExternalContentPolicyType) = 0;
259
260
  /* [infallible] attribute boolean sendCSPViolationEvents; */
261
  NS_IMETHOD GetSendCSPViolationEvents(bool *aSendCSPViolationEvents) = 0;
262
  inline bool GetSendCSPViolationEvents()
263
0
  {
264
0
    bool result;
265
0
    mozilla::DebugOnly<nsresult> rv = GetSendCSPViolationEvents(&result);
266
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
267
0
    return result;
268
0
  }
269
  NS_IMETHOD SetSendCSPViolationEvents(bool aSendCSPViolationEvents) = 0;
270
271
   inline nsContentPolicyType GetExternalContentPolicyType()
272
25
  {
273
25
    nsContentPolicyType result;
274
25
    mozilla::DebugOnly<nsresult> rv = GetExternalContentPolicyType(&result);
275
25
    MOZ_ASSERT(NS_SUCCEEDED(rv));
276
25
    return result;
277
25
  }
278
  /* [noscript,notxpcom] nsContentPolicyType internalContentPolicyType (); */
279
  NS_IMETHOD_(nsContentPolicyType) InternalContentPolicyType(void) = 0;
280
281
  /* [infallible] readonly attribute boolean upgradeInsecureRequests; */
282
  NS_IMETHOD GetUpgradeInsecureRequests(bool *aUpgradeInsecureRequests) = 0;
283
  inline bool GetUpgradeInsecureRequests()
284
0
  {
285
0
    bool result;
286
0
    mozilla::DebugOnly<nsresult> rv = GetUpgradeInsecureRequests(&result);
287
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
288
0
    return result;
289
0
  }
290
291
  /* [infallible] readonly attribute boolean browserUpgradeInsecureRequests; */
292
  NS_IMETHOD GetBrowserUpgradeInsecureRequests(bool *aBrowserUpgradeInsecureRequests) = 0;
293
  inline bool GetBrowserUpgradeInsecureRequests()
294
0
  {
295
0
    bool result;
296
0
    mozilla::DebugOnly<nsresult> rv = GetBrowserUpgradeInsecureRequests(&result);
297
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
298
0
    return result;
299
0
  }
300
301
  /* [infallible] readonly attribute boolean browserWouldUpgradeInsecureRequests; */
302
  NS_IMETHOD GetBrowserWouldUpgradeInsecureRequests(bool *aBrowserWouldUpgradeInsecureRequests) = 0;
303
  inline bool GetBrowserWouldUpgradeInsecureRequests()
304
0
  {
305
0
    bool result;
306
0
    mozilla::DebugOnly<nsresult> rv = GetBrowserWouldUpgradeInsecureRequests(&result);
307
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
308
0
    return result;
309
0
  }
310
311
  /* [infallible] attribute boolean verifySignedContent; */
312
  NS_IMETHOD GetVerifySignedContent(bool *aVerifySignedContent) = 0;
313
  inline bool GetVerifySignedContent()
314
0
  {
315
0
    bool result;
316
0
    mozilla::DebugOnly<nsresult> rv = GetVerifySignedContent(&result);
317
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
318
0
    return result;
319
0
  }
320
  NS_IMETHOD SetVerifySignedContent(bool aVerifySignedContent) = 0;
321
322
  /* [infallible] attribute boolean enforceSRI; */
323
  NS_IMETHOD GetEnforceSRI(bool *aEnforceSRI) = 0;
324
  inline bool GetEnforceSRI()
325
0
  {
326
0
    bool result;
327
0
    mozilla::DebugOnly<nsresult> rv = GetEnforceSRI(&result);
328
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
329
0
    return result;
330
0
  }
331
  NS_IMETHOD SetEnforceSRI(bool aEnforceSRI) = 0;
332
333
  /* [infallible] attribute boolean forceAllowDataURI; */
334
  NS_IMETHOD GetForceAllowDataURI(bool *aForceAllowDataURI) = 0;
335
  inline bool GetForceAllowDataURI()
336
0
  {
337
0
    bool result;
338
0
    mozilla::DebugOnly<nsresult> rv = GetForceAllowDataURI(&result);
339
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
340
0
    return result;
341
0
  }
342
  NS_IMETHOD SetForceAllowDataURI(bool aForceAllowDataURI) = 0;
343
344
  /* [infallible] attribute boolean allowInsecureRedirectToDataURI; */
345
  NS_IMETHOD GetAllowInsecureRedirectToDataURI(bool *aAllowInsecureRedirectToDataURI) = 0;
346
  inline bool GetAllowInsecureRedirectToDataURI()
347
0
  {
348
0
    bool result;
349
0
    mozilla::DebugOnly<nsresult> rv = GetAllowInsecureRedirectToDataURI(&result);
350
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
351
0
    return result;
352
0
  }
353
  NS_IMETHOD SetAllowInsecureRedirectToDataURI(bool aAllowInsecureRedirectToDataURI) = 0;
354
355
  /* [infallible] attribute boolean skipContentPolicyCheckForWebRequest; */
356
  NS_IMETHOD GetSkipContentPolicyCheckForWebRequest(bool *aSkipContentPolicyCheckForWebRequest) = 0;
357
  inline bool GetSkipContentPolicyCheckForWebRequest()
358
0
  {
359
0
    bool result;
360
0
    mozilla::DebugOnly<nsresult> rv = GetSkipContentPolicyCheckForWebRequest(&result);
361
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
362
0
    return result;
363
0
  }
364
  NS_IMETHOD SetSkipContentPolicyCheckForWebRequest(bool aSkipContentPolicyCheckForWebRequest) = 0;
365
366
  /* [infallible] attribute boolean originalFrameSrcLoad; */
367
  NS_IMETHOD GetOriginalFrameSrcLoad(bool *aOriginalFrameSrcLoad) = 0;
368
  inline bool GetOriginalFrameSrcLoad()
369
0
  {
370
0
    bool result;
371
0
    mozilla::DebugOnly<nsresult> rv = GetOriginalFrameSrcLoad(&result);
372
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
373
0
    return result;
374
0
  }
375
  NS_IMETHOD SetOriginalFrameSrcLoad(bool aOriginalFrameSrcLoad) = 0;
376
377
  /* [infallible] readonly attribute boolean forceInheritPrincipalDropped; */
378
  NS_IMETHOD GetForceInheritPrincipalDropped(bool *aForceInheritPrincipalDropped) = 0;
379
  inline bool GetForceInheritPrincipalDropped()
380
0
  {
381
0
    bool result;
382
0
    mozilla::DebugOnly<nsresult> rv = GetForceInheritPrincipalDropped(&result);
383
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
384
0
    return result;
385
0
  }
386
387
  /* [infallible] readonly attribute unsigned long long innerWindowID; */
388
  NS_IMETHOD GetInnerWindowID(uint64_t *aInnerWindowID) = 0;
389
  inline uint64_t GetInnerWindowID()
390
0
  {
391
0
    uint64_t result;
392
0
    mozilla::DebugOnly<nsresult> rv = GetInnerWindowID(&result);
393
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
394
0
    return result;
395
0
  }
396
397
  /* [infallible] readonly attribute unsigned long long outerWindowID; */
398
  NS_IMETHOD GetOuterWindowID(uint64_t *aOuterWindowID) = 0;
399
  inline uint64_t GetOuterWindowID()
400
0
  {
401
0
    uint64_t result;
402
0
    mozilla::DebugOnly<nsresult> rv = GetOuterWindowID(&result);
403
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
404
0
    return result;
405
0
  }
406
407
  /* [infallible] readonly attribute unsigned long long parentOuterWindowID; */
408
  NS_IMETHOD GetParentOuterWindowID(uint64_t *aParentOuterWindowID) = 0;
409
  inline uint64_t GetParentOuterWindowID()
410
0
  {
411
0
    uint64_t result;
412
0
    mozilla::DebugOnly<nsresult> rv = GetParentOuterWindowID(&result);
413
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
414
0
    return result;
415
0
  }
416
417
  /* [infallible] readonly attribute unsigned long long topOuterWindowID; */
418
  NS_IMETHOD GetTopOuterWindowID(uint64_t *aTopOuterWindowID) = 0;
419
  inline uint64_t GetTopOuterWindowID()
420
0
  {
421
0
    uint64_t result;
422
0
    mozilla::DebugOnly<nsresult> rv = GetTopOuterWindowID(&result);
423
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
424
0
    return result;
425
0
  }
426
427
  /* [infallible] readonly attribute unsigned long long frameOuterWindowID; */
428
  NS_IMETHOD GetFrameOuterWindowID(uint64_t *aFrameOuterWindowID) = 0;
429
  inline uint64_t GetFrameOuterWindowID()
430
0
  {
431
0
    uint64_t result;
432
0
    mozilla::DebugOnly<nsresult> rv = GetFrameOuterWindowID(&result);
433
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
434
0
    return result;
435
0
  }
436
437
  /* void resetPrincipalToInheritToNullPrincipal (); */
438
  NS_IMETHOD ResetPrincipalToInheritToNullPrincipal(void) = 0;
439
440
  /* [binaryname(ScriptableOriginAttributes),implicit_jscontext] attribute jsval originAttributes; */
441
  NS_IMETHOD GetScriptableOriginAttributes(JSContext* cx, JS::MutableHandleValue aOriginAttributes) = 0;
442
  NS_IMETHOD SetScriptableOriginAttributes(JSContext* cx, JS::HandleValue aOriginAttributes) = 0;
443
444
  /* [binaryname(GetOriginAttributes),noscript,nostdcall] OriginAttributes binaryGetOriginAttributes (); */
445
  virtual nsresult GetOriginAttributes(mozilla::OriginAttributes * _retval) = 0;
446
447
  /* [binaryname(SetOriginAttributes),noscript,nostdcall] void binarySetOriginAttributes (in const_OriginAttributesRef aOriginAttrs); */
448
  virtual nsresult SetOriginAttributes(const mozilla::OriginAttributes & aOriginAttrs) = 0;
449
450
   inline mozilla::OriginAttributes GetOriginAttributes()
451
0
  {
452
0
    mozilla::OriginAttributes result;
453
0
    mozilla::DebugOnly<nsresult> rv = GetOriginAttributes(&result);
454
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
455
0
    return result;
456
0
  }
457
  /* [infallible] attribute boolean enforceSecurity; */
458
  NS_IMETHOD GetEnforceSecurity(bool *aEnforceSecurity) = 0;
459
  inline bool GetEnforceSecurity()
460
0
  {
461
0
    bool result;
462
0
    mozilla::DebugOnly<nsresult> rv = GetEnforceSecurity(&result);
463
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
464
0
    return result;
465
0
  }
466
  NS_IMETHOD SetEnforceSecurity(bool aEnforceSecurity) = 0;
467
468
  /* [infallible] attribute boolean initialSecurityCheckDone; */
469
  NS_IMETHOD GetInitialSecurityCheckDone(bool *aInitialSecurityCheckDone) = 0;
470
  inline bool GetInitialSecurityCheckDone()
471
5
  {
472
5
    bool result;
473
5
    mozilla::DebugOnly<nsresult> rv = GetInitialSecurityCheckDone(&result);
474
5
    MOZ_ASSERT(NS_SUCCEEDED(rv));
475
5
    return result;
476
5
  }
477
  NS_IMETHOD SetInitialSecurityCheckDone(bool aInitialSecurityCheckDone) = 0;
478
479
  /* [infallible] attribute boolean loadTriggeredFromExternal; */
480
  NS_IMETHOD GetLoadTriggeredFromExternal(bool *aLoadTriggeredFromExternal) = 0;
481
  inline bool GetLoadTriggeredFromExternal()
482
0
  {
483
0
    bool result;
484
0
    mozilla::DebugOnly<nsresult> rv = GetLoadTriggeredFromExternal(&result);
485
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
486
0
    return result;
487
0
  }
488
  NS_IMETHOD SetLoadTriggeredFromExternal(bool aLoadTriggeredFromExternal) = 0;
489
490
  /* [infallible,noscript] readonly attribute boolean serviceWorkerTaintingSynthesized; */
491
  NS_IMETHOD GetServiceWorkerTaintingSynthesized(bool *aServiceWorkerTaintingSynthesized) = 0;
492
  inline bool GetServiceWorkerTaintingSynthesized()
493
0
  {
494
0
    bool result;
495
0
    mozilla::DebugOnly<nsresult> rv = GetServiceWorkerTaintingSynthesized(&result);
496
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
497
0
    return result;
498
0
  }
499
500
  /* void appendRedirectHistoryEntry (in nsIRedirectHistoryEntry entry, in boolean isInternalRedirect); */
501
  NS_IMETHOD AppendRedirectHistoryEntry(nsIRedirectHistoryEntry *entry, bool isInternalRedirect) = 0;
502
503
  /* [implicit_jscontext] readonly attribute jsval redirectChainIncludingInternalRedirects; */
504
  NS_IMETHOD GetRedirectChainIncludingInternalRedirects(JSContext* cx, JS::MutableHandleValue aRedirectChainIncludingInternalRedirects) = 0;
505
506
  /* [binaryname(RedirectChainIncludingInternalRedirects),noscript,nostdcall,notxpcom] nsIRedirectHistoryEntryArray binaryRedirectChainIncludingInternalRedirects (); */
507
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChainIncludingInternalRedirects(void) = 0;
508
509
  /* [implicit_jscontext] readonly attribute jsval redirectChain; */
510
  NS_IMETHOD GetRedirectChain(JSContext* cx, JS::MutableHandleValue aRedirectChain) = 0;
511
512
  /* [binaryname(RedirectChain),noscript,nostdcall,notxpcom] nsIRedirectHistoryEntryArray binaryRedirectChain (); */
513
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChain(void) = 0;
514
515
  /* [noscript,nostdcall,notxpcom] PrincipalArrayRef AncestorPrincipals (); */
516
  virtual const nsTArray<nsCOMPtr<nsIPrincipal>> & AncestorPrincipals(void) = 0;
517
518
  /* [noscript,nostdcall,notxpcom] Uint64ArrayRef AncestorOuterWindowIDs (); */
519
  virtual const nsTArray<uint64_t> & AncestorOuterWindowIDs(void) = 0;
520
521
  /* [noscript,nostdcall,notxpcom] void setCorsPreflightInfo (in CStringArrayRef unsafeHeaders, in boolean forcePreflight); */
522
  virtual void SetCorsPreflightInfo(const nsTArray<nsCString> & unsafeHeaders, bool forcePreflight) = 0;
523
524
  /* [binaryname(CorsUnsafeHeaders),noscript,nostdcall,notxpcom] CStringArrayRef corsUnsafeHeaders (); */
525
  virtual const nsTArray<nsCString> & CorsUnsafeHeaders(void) = 0;
526
527
  /* [infallible] readonly attribute boolean forcePreflight; */
528
  NS_IMETHOD GetForcePreflight(bool *aForcePreflight) = 0;
529
  inline bool GetForcePreflight()
530
0
  {
531
0
    bool result;
532
0
    mozilla::DebugOnly<nsresult> rv = GetForcePreflight(&result);
533
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
534
0
    return result;
535
0
  }
536
537
  /* [infallible] readonly attribute boolean isPreflight; */
538
  NS_IMETHOD GetIsPreflight(bool *aIsPreflight) = 0;
539
  inline bool GetIsPreflight()
540
0
  {
541
0
    bool result;
542
0
    mozilla::DebugOnly<nsresult> rv = GetIsPreflight(&result);
543
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
544
0
    return result;
545
0
  }
546
547
  enum {
548
    TAINTING_BASIC = 0U,
549
    TAINTING_CORS = 1U,
550
    TAINTING_OPAQUE = 2U
551
  };
552
553
  /* readonly attribute unsigned long tainting; */
554
  NS_IMETHOD GetTainting(uint32_t *aTainting) = 0;
555
556
  /* void maybeIncreaseTainting (in unsigned long aTainting); */
557
  NS_IMETHOD MaybeIncreaseTainting(uint32_t aTainting) = 0;
558
559
   static_assert(TAINTING_BASIC == static_cast<uint32_t>(mozilla::LoadTainting::Basic),
560
                "basic tainting enums should match");
561
  static_assert(TAINTING_CORS == static_cast<uint32_t>(mozilla::LoadTainting::CORS),
562
                "cors tainting enums should match");
563
  static_assert(TAINTING_OPAQUE == static_cast<uint32_t>(mozilla::LoadTainting::Opaque),
564
                "opaque tainting enums should match");
565
  mozilla::LoadTainting GetTainting()
566
0
  {
567
0
    uint32_t tainting = TAINTING_BASIC;
568
0
    MOZ_ALWAYS_SUCCEEDS(GetTainting(&tainting));
569
0
    return static_cast<mozilla::LoadTainting>(tainting);
570
0
  }
571
  void MaybeIncreaseTainting(mozilla::LoadTainting aTainting)
572
0
  {
573
0
    uint32_t tainting = static_cast<uint32_t>(aTainting);
574
0
    MOZ_ALWAYS_SUCCEEDS(MaybeIncreaseTainting(tainting));
575
0
  }
576
  /* [infallible] readonly attribute boolean isTopLevelLoad; */
577
  NS_IMETHOD GetIsTopLevelLoad(bool *aIsTopLevelLoad) = 0;
578
  inline bool GetIsTopLevelLoad()
579
0
  {
580
0
    bool result;
581
0
    mozilla::DebugOnly<nsresult> rv = GetIsTopLevelLoad(&result);
582
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
583
0
    return result;
584
0
  }
585
586
  /* attribute nsIURI resultPrincipalURI; */
587
  NS_IMETHOD GetResultPrincipalURI(nsIURI **aResultPrincipalURI) = 0;
588
  NS_IMETHOD SetResultPrincipalURI(nsIURI *aResultPrincipalURI) = 0;
589
590
  /* [noscript] readonly attribute nsIPrincipal sandboxedLoadingPrincipal; */
591
  NS_IMETHOD GetSandboxedLoadingPrincipal(nsIPrincipal **aSandboxedLoadingPrincipal) = 0;
592
593
  /* [noscript] readonly attribute nsIPrincipal topLevelPrincipal; */
594
  NS_IMETHOD GetTopLevelPrincipal(nsIPrincipal **aTopLevelPrincipal) = 0;
595
596
  /* [binaryname(TopLevelPrincipal),noscript,nostdcall,notxpcom] nsIPrincipal binaryTopLevelPrincipal (); */
597
  virtual nsIPrincipal * TopLevelPrincipal(void) = 0;
598
599
  /* [noscript] readonly attribute nsIPrincipal topLevelStorageAreaPrincipal; */
600
  NS_IMETHOD GetTopLevelStorageAreaPrincipal(nsIPrincipal **aTopLevelStorageAreaPrincipal) = 0;
601
602
  /* [binaryname(TopLevelStorageAreaPrincipal),noscript,nostdcall,notxpcom] nsIPrincipal binaryTopLevelStorageAreaPrincipal (); */
603
  virtual nsIPrincipal * TopLevelStorageAreaPrincipal(void) = 0;
604
605
  /* [noscript,nostdcall,notxpcom] void SetClientInfo (in const_ClientInfoRef aClientInfo); */
606
  virtual void SetClientInfo(const mozilla::dom::ClientInfo & aClientInfo) = 0;
607
608
  /* [noscript,nostdcall,notxpcom] const_MaybeClientInfoRef GetClientInfo (); */
609
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetClientInfo(void) = 0;
610
611
  /* [noscript,nostdcall,notxpcom] void GiveReservedClientSource (in UniqueClientSourceMove aClientSource); */
612
  virtual void GiveReservedClientSource(mozilla::UniquePtr<mozilla::dom::ClientSource>&& aClientSource) = 0;
613
614
  /* [noscript,nostdcall,notxpcom] UniqueClientSource TakeReservedClientSource (); */
615
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeReservedClientSource(void) = 0;
616
617
  /* [noscript,nostdcall,notxpcom] void SetReservedClientInfo (in const_ClientInfoRef aClientInfo); */
618
  virtual void SetReservedClientInfo(const mozilla::dom::ClientInfo & aClientInfo) = 0;
619
620
  /* [noscript,nostdcall,notxpcom] void OverrideReservedClientInfoInParent (in const_ClientInfoRef aClientInfo); */
621
  virtual void OverrideReservedClientInfoInParent(const mozilla::dom::ClientInfo & aClientInfo) = 0;
622
623
  /* [noscript,nostdcall,notxpcom] const_MaybeClientInfoRef GetReservedClientInfo (); */
624
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetReservedClientInfo(void) = 0;
625
626
  /* [noscript,nostdcall,notxpcom] void SetInitialClientInfo (in const_ClientInfoRef aClientInfo); */
627
  virtual void SetInitialClientInfo(const mozilla::dom::ClientInfo & aClientInfo) = 0;
628
629
  /* [noscript,nostdcall,notxpcom] const_MaybeClientInfoRef GetInitialClientInfo (); */
630
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetInitialClientInfo(void) = 0;
631
632
  /* [noscript,nostdcall,notxpcom] void SetController (in const_ServiceWorkerDescriptorRef aServiceWorker); */
633
  virtual void SetController(const mozilla::dom::ServiceWorkerDescriptor & aServiceWorker) = 0;
634
635
  /* [noscript,nostdcall,notxpcom] void ClearController (); */
636
  virtual void ClearController(void) = 0;
637
638
  /* [noscript,nostdcall,notxpcom] const_MaybeServiceWorkerDescriptorRef GetController (); */
639
  virtual const mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> & GetController(void) = 0;
640
641
  /* [noscript,nostdcall,notxpcom] void SetPerformanceStorage (in PerformanceStoragePtr aPerformanceStorage); */
642
  virtual void SetPerformanceStorage(mozilla::dom::PerformanceStorage * aPerformanceStorage) = 0;
643
644
  /* [noscript,nostdcall,notxpcom] PerformanceStoragePtr GetPerformanceStorage (); */
645
  virtual mozilla::dom::PerformanceStorage * GetPerformanceStorage(void) = 0;
646
647
  /* [noscript,nostdcall,notxpcom] void SynthesizeServiceWorkerTainting (in LoadTainting aTainting); */
648
  virtual void SynthesizeServiceWorkerTainting(mozilla::LoadTainting aTainting) = 0;
649
650
  /* [infallible] attribute boolean isTracker; */
651
  NS_IMETHOD GetIsTracker(bool *aIsTracker) = 0;
652
  inline bool GetIsTracker()
653
0
  {
654
0
    bool result;
655
0
    mozilla::DebugOnly<nsresult> rv = GetIsTracker(&result);
656
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
657
0
    return result;
658
0
  }
659
  NS_IMETHOD SetIsTracker(bool aIsTracker) = 0;
660
661
  /* [infallible] attribute boolean isTrackerBlocked; */
662
  NS_IMETHOD GetIsTrackerBlocked(bool *aIsTrackerBlocked) = 0;
663
  inline bool GetIsTrackerBlocked()
664
0
  {
665
0
    bool result;
666
0
    mozilla::DebugOnly<nsresult> rv = GetIsTrackerBlocked(&result);
667
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
668
0
    return result;
669
0
  }
670
  NS_IMETHOD SetIsTrackerBlocked(bool aIsTrackerBlocked) = 0;
671
672
  /* attribute AnalyticsProvider trackerBlockedReason; */
673
  NS_IMETHOD GetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED * aTrackerBlockedReason) = 0;
674
  NS_IMETHOD SetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED aTrackerBlockedReason) = 0;
675
676
  /* [infallible] attribute boolean documentHasUserInteracted; */
677
  NS_IMETHOD GetDocumentHasUserInteracted(bool *aDocumentHasUserInteracted) = 0;
678
  inline bool GetDocumentHasUserInteracted()
679
0
  {
680
0
    bool result;
681
0
    mozilla::DebugOnly<nsresult> rv = GetDocumentHasUserInteracted(&result);
682
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
683
0
    return result;
684
0
  }
685
  NS_IMETHOD SetDocumentHasUserInteracted(bool aDocumentHasUserInteracted) = 0;
686
687
};
688
689
  NS_DEFINE_STATIC_IID_ACCESSOR(nsILoadInfo, NS_ILOADINFO_IID)
690
691
/* Use this macro when declaring classes that implement this interface. */
692
#define NS_DECL_NSILOADINFO \
693
  NS_IMETHOD GetLoadingPrincipal(nsIPrincipal **aLoadingPrincipal) override; \
694
  virtual nsIPrincipal * LoadingPrincipal(void) override; \
695
  NS_IMETHOD GetTriggeringPrincipal(nsIPrincipal **aTriggeringPrincipal) override; \
696
  virtual nsIPrincipal * TriggeringPrincipal(void) override; \
697
  NS_IMETHOD GetPrincipalToInherit(nsIPrincipal **aPrincipalToInherit) override; \
698
  NS_IMETHOD SetPrincipalToInherit(nsIPrincipal *aPrincipalToInherit) override; \
699
  virtual nsIPrincipal * PrincipalToInherit(void) override; \
700
  virtual nsIPrincipal * FindPrincipalToInherit(nsIChannel *aChannel) override; \
701
  NS_IMETHOD GetLoadingDocument(nsIDocument **aLoadingDocument) override; \
702
  virtual nsINode * LoadingNode(void) override; \
703
  virtual already_AddRefed<nsISupports> ContextForTopLevelLoad(void) override; \
704
  NS_IMETHOD GetLoadingContextXPCOM(nsISupports **aLoadingContext) override; \
705
  virtual already_AddRefed<nsISupports> GetLoadingContext(void) override; \
706
  NS_IMETHOD GetSecurityFlags(nsSecurityFlags *aSecurityFlags) override; \
707
  using nsILoadInfo::GetSecurityMode; \
708
  NS_IMETHOD GetSecurityMode(uint32_t *aSecurityMode) override; \
709
  using nsILoadInfo::GetIsInThirdPartyContext; \
710
  NS_IMETHOD GetIsInThirdPartyContext(bool *aIsInThirdPartyContext) override; \
711
  using nsILoadInfo::GetCookiePolicy; \
712
  NS_IMETHOD GetCookiePolicy(uint32_t *aCookiePolicy) override; \
713
  using nsILoadInfo::GetForceInheritPrincipal; \
714
  NS_IMETHOD GetForceInheritPrincipal(bool *aForceInheritPrincipal) override; \
715
  using nsILoadInfo::GetForceInheritPrincipalOverruleOwner; \
716
  NS_IMETHOD GetForceInheritPrincipalOverruleOwner(bool *aForceInheritPrincipalOverruleOwner) override; \
717
  using nsILoadInfo::GetLoadingSandboxed; \
718
  NS_IMETHOD GetLoadingSandboxed(bool *aLoadingSandboxed) override; \
719
  using nsILoadInfo::GetAboutBlankInherits; \
720
  NS_IMETHOD GetAboutBlankInherits(bool *aAboutBlankInherits) override; \
721
  using nsILoadInfo::GetAllowChrome; \
722
  NS_IMETHOD GetAllowChrome(bool *aAllowChrome) override; \
723
  using nsILoadInfo::GetDisallowScript; \
724
  NS_IMETHOD GetDisallowScript(bool *aDisallowScript) override; \
725
  using nsILoadInfo::GetDontFollowRedirects; \
726
  NS_IMETHOD GetDontFollowRedirects(bool *aDontFollowRedirects) override; \
727
  using nsILoadInfo::GetLoadErrorPage; \
728
  NS_IMETHOD GetLoadErrorPage(bool *aLoadErrorPage) override; \
729
  using nsILoadInfo::GetIsDocshellReload; \
730
  NS_IMETHOD GetIsDocshellReload(bool *aIsDocshellReload) override; \
731
  NS_IMETHOD SetIsDocshellReload(bool aIsDocshellReload) override; \
732
  NS_IMETHOD GetExternalContentPolicyType(nsContentPolicyType *aExternalContentPolicyType) override; \
733
  using nsILoadInfo::GetSendCSPViolationEvents; \
734
  NS_IMETHOD GetSendCSPViolationEvents(bool *aSendCSPViolationEvents) override; \
735
  NS_IMETHOD SetSendCSPViolationEvents(bool aSendCSPViolationEvents) override; \
736
  NS_IMETHOD_(nsContentPolicyType) InternalContentPolicyType(void) override; \
737
  using nsILoadInfo::GetUpgradeInsecureRequests; \
738
  NS_IMETHOD GetUpgradeInsecureRequests(bool *aUpgradeInsecureRequests) override; \
739
  using nsILoadInfo::GetBrowserUpgradeInsecureRequests; \
740
  NS_IMETHOD GetBrowserUpgradeInsecureRequests(bool *aBrowserUpgradeInsecureRequests) override; \
741
  using nsILoadInfo::GetBrowserWouldUpgradeInsecureRequests; \
742
  NS_IMETHOD GetBrowserWouldUpgradeInsecureRequests(bool *aBrowserWouldUpgradeInsecureRequests) override; \
743
  using nsILoadInfo::GetVerifySignedContent; \
744
  NS_IMETHOD GetVerifySignedContent(bool *aVerifySignedContent) override; \
745
  NS_IMETHOD SetVerifySignedContent(bool aVerifySignedContent) override; \
746
  using nsILoadInfo::GetEnforceSRI; \
747
  NS_IMETHOD GetEnforceSRI(bool *aEnforceSRI) override; \
748
  NS_IMETHOD SetEnforceSRI(bool aEnforceSRI) override; \
749
  using nsILoadInfo::GetForceAllowDataURI; \
750
  NS_IMETHOD GetForceAllowDataURI(bool *aForceAllowDataURI) override; \
751
  NS_IMETHOD SetForceAllowDataURI(bool aForceAllowDataURI) override; \
752
  using nsILoadInfo::GetAllowInsecureRedirectToDataURI; \
753
  NS_IMETHOD GetAllowInsecureRedirectToDataURI(bool *aAllowInsecureRedirectToDataURI) override; \
754
  NS_IMETHOD SetAllowInsecureRedirectToDataURI(bool aAllowInsecureRedirectToDataURI) override; \
755
  using nsILoadInfo::GetSkipContentPolicyCheckForWebRequest; \
756
  NS_IMETHOD GetSkipContentPolicyCheckForWebRequest(bool *aSkipContentPolicyCheckForWebRequest) override; \
757
  NS_IMETHOD SetSkipContentPolicyCheckForWebRequest(bool aSkipContentPolicyCheckForWebRequest) override; \
758
  using nsILoadInfo::GetOriginalFrameSrcLoad; \
759
  NS_IMETHOD GetOriginalFrameSrcLoad(bool *aOriginalFrameSrcLoad) override; \
760
  NS_IMETHOD SetOriginalFrameSrcLoad(bool aOriginalFrameSrcLoad) override; \
761
  using nsILoadInfo::GetForceInheritPrincipalDropped; \
762
  NS_IMETHOD GetForceInheritPrincipalDropped(bool *aForceInheritPrincipalDropped) override; \
763
  using nsILoadInfo::GetInnerWindowID; \
764
  NS_IMETHOD GetInnerWindowID(uint64_t *aInnerWindowID) override; \
765
  using nsILoadInfo::GetOuterWindowID; \
766
  NS_IMETHOD GetOuterWindowID(uint64_t *aOuterWindowID) override; \
767
  using nsILoadInfo::GetParentOuterWindowID; \
768
  NS_IMETHOD GetParentOuterWindowID(uint64_t *aParentOuterWindowID) override; \
769
  using nsILoadInfo::GetTopOuterWindowID; \
770
  NS_IMETHOD GetTopOuterWindowID(uint64_t *aTopOuterWindowID) override; \
771
  using nsILoadInfo::GetFrameOuterWindowID; \
772
  NS_IMETHOD GetFrameOuterWindowID(uint64_t *aFrameOuterWindowID) override; \
773
  NS_IMETHOD ResetPrincipalToInheritToNullPrincipal(void) override; \
774
  NS_IMETHOD GetScriptableOriginAttributes(JSContext* cx, JS::MutableHandleValue aOriginAttributes) override; \
775
  NS_IMETHOD SetScriptableOriginAttributes(JSContext* cx, JS::HandleValue aOriginAttributes) override; \
776
  virtual nsresult GetOriginAttributes(mozilla::OriginAttributes * _retval) override; \
777
  virtual nsresult SetOriginAttributes(const mozilla::OriginAttributes & aOriginAttrs) override; \
778
  using nsILoadInfo::GetEnforceSecurity; \
779
  NS_IMETHOD GetEnforceSecurity(bool *aEnforceSecurity) override; \
780
  NS_IMETHOD SetEnforceSecurity(bool aEnforceSecurity) override; \
781
  using nsILoadInfo::GetInitialSecurityCheckDone; \
782
  NS_IMETHOD GetInitialSecurityCheckDone(bool *aInitialSecurityCheckDone) override; \
783
  NS_IMETHOD SetInitialSecurityCheckDone(bool aInitialSecurityCheckDone) override; \
784
  using nsILoadInfo::GetLoadTriggeredFromExternal; \
785
  NS_IMETHOD GetLoadTriggeredFromExternal(bool *aLoadTriggeredFromExternal) override; \
786
  NS_IMETHOD SetLoadTriggeredFromExternal(bool aLoadTriggeredFromExternal) override; \
787
  using nsILoadInfo::GetServiceWorkerTaintingSynthesized; \
788
  NS_IMETHOD GetServiceWorkerTaintingSynthesized(bool *aServiceWorkerTaintingSynthesized) override; \
789
  NS_IMETHOD AppendRedirectHistoryEntry(nsIRedirectHistoryEntry *entry, bool isInternalRedirect) override; \
790
  NS_IMETHOD GetRedirectChainIncludingInternalRedirects(JSContext* cx, JS::MutableHandleValue aRedirectChainIncludingInternalRedirects) override; \
791
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChainIncludingInternalRedirects(void) override; \
792
  NS_IMETHOD GetRedirectChain(JSContext* cx, JS::MutableHandleValue aRedirectChain) override; \
793
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChain(void) override; \
794
  virtual const nsTArray<nsCOMPtr<nsIPrincipal>> & AncestorPrincipals(void) override; \
795
  virtual const nsTArray<uint64_t> & AncestorOuterWindowIDs(void) override; \
796
  virtual void SetCorsPreflightInfo(const nsTArray<nsCString> & unsafeHeaders, bool forcePreflight) override; \
797
  virtual const nsTArray<nsCString> & CorsUnsafeHeaders(void) override; \
798
  using nsILoadInfo::GetForcePreflight; \
799
  NS_IMETHOD GetForcePreflight(bool *aForcePreflight) override; \
800
  using nsILoadInfo::GetIsPreflight; \
801
  NS_IMETHOD GetIsPreflight(bool *aIsPreflight) override; \
802
  NS_IMETHOD GetTainting(uint32_t *aTainting) override; \
803
  NS_IMETHOD MaybeIncreaseTainting(uint32_t aTainting) override; \
804
  using nsILoadInfo::GetIsTopLevelLoad; \
805
  NS_IMETHOD GetIsTopLevelLoad(bool *aIsTopLevelLoad) override; \
806
  NS_IMETHOD GetResultPrincipalURI(nsIURI **aResultPrincipalURI) override; \
807
  NS_IMETHOD SetResultPrincipalURI(nsIURI *aResultPrincipalURI) override; \
808
  NS_IMETHOD GetSandboxedLoadingPrincipal(nsIPrincipal **aSandboxedLoadingPrincipal) override; \
809
  NS_IMETHOD GetTopLevelPrincipal(nsIPrincipal **aTopLevelPrincipal) override; \
810
  virtual nsIPrincipal * TopLevelPrincipal(void) override; \
811
  NS_IMETHOD GetTopLevelStorageAreaPrincipal(nsIPrincipal **aTopLevelStorageAreaPrincipal) override; \
812
  virtual nsIPrincipal * TopLevelStorageAreaPrincipal(void) override; \
813
  virtual void SetClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override; \
814
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetClientInfo(void) override; \
815
  virtual void GiveReservedClientSource(mozilla::UniquePtr<mozilla::dom::ClientSource>&& aClientSource) override; \
816
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeReservedClientSource(void) override; \
817
  virtual void SetReservedClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override; \
818
  virtual void OverrideReservedClientInfoInParent(const mozilla::dom::ClientInfo & aClientInfo) override; \
819
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetReservedClientInfo(void) override; \
820
  virtual void SetInitialClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override; \
821
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetInitialClientInfo(void) override; \
822
  virtual void SetController(const mozilla::dom::ServiceWorkerDescriptor & aServiceWorker) override; \
823
  virtual void ClearController(void) override; \
824
  virtual const mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> & GetController(void) override; \
825
  virtual void SetPerformanceStorage(mozilla::dom::PerformanceStorage * aPerformanceStorage) override; \
826
  virtual mozilla::dom::PerformanceStorage * GetPerformanceStorage(void) override; \
827
  virtual void SynthesizeServiceWorkerTainting(mozilla::LoadTainting aTainting) override; \
828
  using nsILoadInfo::GetIsTracker; \
829
  NS_IMETHOD GetIsTracker(bool *aIsTracker) override; \
830
  NS_IMETHOD SetIsTracker(bool aIsTracker) override; \
831
  using nsILoadInfo::GetIsTrackerBlocked; \
832
  NS_IMETHOD GetIsTrackerBlocked(bool *aIsTrackerBlocked) override; \
833
  NS_IMETHOD SetIsTrackerBlocked(bool aIsTrackerBlocked) override; \
834
  NS_IMETHOD GetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED * aTrackerBlockedReason) override; \
835
  NS_IMETHOD SetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED aTrackerBlockedReason) override; \
836
  using nsILoadInfo::GetDocumentHasUserInteracted; \
837
  NS_IMETHOD GetDocumentHasUserInteracted(bool *aDocumentHasUserInteracted) override; \
838
  NS_IMETHOD SetDocumentHasUserInteracted(bool aDocumentHasUserInteracted) override; 
839
840
/* Use this macro when declaring the members of this interface when the
841
   class doesn't implement the interface. This is useful for forwarding. */
842
#define NS_DECL_NON_VIRTUAL_NSILOADINFO \
843
  nsresult GetLoadingPrincipal(nsIPrincipal **aLoadingPrincipal); \
844
  nsIPrincipal * LoadingPrincipal(void); \
845
  nsresult GetTriggeringPrincipal(nsIPrincipal **aTriggeringPrincipal); \
846
  nsIPrincipal * TriggeringPrincipal(void); \
847
  nsresult GetPrincipalToInherit(nsIPrincipal **aPrincipalToInherit); \
848
  nsresult SetPrincipalToInherit(nsIPrincipal *aPrincipalToInherit); \
849
  nsIPrincipal * PrincipalToInherit(void); \
850
  nsIPrincipal * FindPrincipalToInherit(nsIChannel *aChannel); \
851
  nsresult GetLoadingDocument(nsIDocument **aLoadingDocument); \
852
  nsINode * LoadingNode(void); \
853
  already_AddRefed<nsISupports> ContextForTopLevelLoad(void); \
854
  nsresult GetLoadingContextXPCOM(nsISupports **aLoadingContext); \
855
  already_AddRefed<nsISupports> GetLoadingContext(void); \
856
  nsresult GetSecurityFlags(nsSecurityFlags *aSecurityFlags); \
857
  using nsILoadInfo::GetSecurityMode; \
858
  nsresult GetSecurityMode(uint32_t *aSecurityMode); \
859
  using nsILoadInfo::GetIsInThirdPartyContext; \
860
  nsresult GetIsInThirdPartyContext(bool *aIsInThirdPartyContext); \
861
  using nsILoadInfo::GetCookiePolicy; \
862
  nsresult GetCookiePolicy(uint32_t *aCookiePolicy); \
863
  using nsILoadInfo::GetForceInheritPrincipal; \
864
  nsresult GetForceInheritPrincipal(bool *aForceInheritPrincipal); \
865
  using nsILoadInfo::GetForceInheritPrincipalOverruleOwner; \
866
  nsresult GetForceInheritPrincipalOverruleOwner(bool *aForceInheritPrincipalOverruleOwner); \
867
  using nsILoadInfo::GetLoadingSandboxed; \
868
  nsresult GetLoadingSandboxed(bool *aLoadingSandboxed); \
869
  using nsILoadInfo::GetAboutBlankInherits; \
870
  nsresult GetAboutBlankInherits(bool *aAboutBlankInherits); \
871
  using nsILoadInfo::GetAllowChrome; \
872
  nsresult GetAllowChrome(bool *aAllowChrome); \
873
  using nsILoadInfo::GetDisallowScript; \
874
  nsresult GetDisallowScript(bool *aDisallowScript); \
875
  using nsILoadInfo::GetDontFollowRedirects; \
876
  nsresult GetDontFollowRedirects(bool *aDontFollowRedirects); \
877
  using nsILoadInfo::GetLoadErrorPage; \
878
  nsresult GetLoadErrorPage(bool *aLoadErrorPage); \
879
  using nsILoadInfo::GetIsDocshellReload; \
880
  nsresult GetIsDocshellReload(bool *aIsDocshellReload); \
881
  nsresult SetIsDocshellReload(bool aIsDocshellReload); \
882
  nsresult GetExternalContentPolicyType(nsContentPolicyType *aExternalContentPolicyType); \
883
  using nsILoadInfo::GetSendCSPViolationEvents; \
884
  nsresult GetSendCSPViolationEvents(bool *aSendCSPViolationEvents); \
885
  nsresult SetSendCSPViolationEvents(bool aSendCSPViolationEvents); \
886
  nsresult_(nsContentPolicyType) InternalContentPolicyType(void); \
887
  using nsILoadInfo::GetUpgradeInsecureRequests; \
888
  nsresult GetUpgradeInsecureRequests(bool *aUpgradeInsecureRequests); \
889
  using nsILoadInfo::GetBrowserUpgradeInsecureRequests; \
890
  nsresult GetBrowserUpgradeInsecureRequests(bool *aBrowserUpgradeInsecureRequests); \
891
  using nsILoadInfo::GetBrowserWouldUpgradeInsecureRequests; \
892
  nsresult GetBrowserWouldUpgradeInsecureRequests(bool *aBrowserWouldUpgradeInsecureRequests); \
893
  using nsILoadInfo::GetVerifySignedContent; \
894
  nsresult GetVerifySignedContent(bool *aVerifySignedContent); \
895
  nsresult SetVerifySignedContent(bool aVerifySignedContent); \
896
  using nsILoadInfo::GetEnforceSRI; \
897
  nsresult GetEnforceSRI(bool *aEnforceSRI); \
898
  nsresult SetEnforceSRI(bool aEnforceSRI); \
899
  using nsILoadInfo::GetForceAllowDataURI; \
900
  nsresult GetForceAllowDataURI(bool *aForceAllowDataURI); \
901
  nsresult SetForceAllowDataURI(bool aForceAllowDataURI); \
902
  using nsILoadInfo::GetAllowInsecureRedirectToDataURI; \
903
  nsresult GetAllowInsecureRedirectToDataURI(bool *aAllowInsecureRedirectToDataURI); \
904
  nsresult SetAllowInsecureRedirectToDataURI(bool aAllowInsecureRedirectToDataURI); \
905
  using nsILoadInfo::GetSkipContentPolicyCheckForWebRequest; \
906
  nsresult GetSkipContentPolicyCheckForWebRequest(bool *aSkipContentPolicyCheckForWebRequest); \
907
  nsresult SetSkipContentPolicyCheckForWebRequest(bool aSkipContentPolicyCheckForWebRequest); \
908
  using nsILoadInfo::GetOriginalFrameSrcLoad; \
909
  nsresult GetOriginalFrameSrcLoad(bool *aOriginalFrameSrcLoad); \
910
  nsresult SetOriginalFrameSrcLoad(bool aOriginalFrameSrcLoad); \
911
  using nsILoadInfo::GetForceInheritPrincipalDropped; \
912
  nsresult GetForceInheritPrincipalDropped(bool *aForceInheritPrincipalDropped); \
913
  using nsILoadInfo::GetInnerWindowID; \
914
  nsresult GetInnerWindowID(uint64_t *aInnerWindowID); \
915
  using nsILoadInfo::GetOuterWindowID; \
916
  nsresult GetOuterWindowID(uint64_t *aOuterWindowID); \
917
  using nsILoadInfo::GetParentOuterWindowID; \
918
  nsresult GetParentOuterWindowID(uint64_t *aParentOuterWindowID); \
919
  using nsILoadInfo::GetTopOuterWindowID; \
920
  nsresult GetTopOuterWindowID(uint64_t *aTopOuterWindowID); \
921
  using nsILoadInfo::GetFrameOuterWindowID; \
922
  nsresult GetFrameOuterWindowID(uint64_t *aFrameOuterWindowID); \
923
  nsresult ResetPrincipalToInheritToNullPrincipal(void); \
924
  nsresult GetScriptableOriginAttributes(JSContext* cx, JS::MutableHandleValue aOriginAttributes); \
925
  nsresult SetScriptableOriginAttributes(JSContext* cx, JS::HandleValue aOriginAttributes); \
926
  nsresult GetOriginAttributes(mozilla::OriginAttributes * _retval); \
927
  nsresult SetOriginAttributes(const mozilla::OriginAttributes & aOriginAttrs); \
928
  using nsILoadInfo::GetEnforceSecurity; \
929
  nsresult GetEnforceSecurity(bool *aEnforceSecurity); \
930
  nsresult SetEnforceSecurity(bool aEnforceSecurity); \
931
  using nsILoadInfo::GetInitialSecurityCheckDone; \
932
  nsresult GetInitialSecurityCheckDone(bool *aInitialSecurityCheckDone); \
933
  nsresult SetInitialSecurityCheckDone(bool aInitialSecurityCheckDone); \
934
  using nsILoadInfo::GetLoadTriggeredFromExternal; \
935
  nsresult GetLoadTriggeredFromExternal(bool *aLoadTriggeredFromExternal); \
936
  nsresult SetLoadTriggeredFromExternal(bool aLoadTriggeredFromExternal); \
937
  using nsILoadInfo::GetServiceWorkerTaintingSynthesized; \
938
  nsresult GetServiceWorkerTaintingSynthesized(bool *aServiceWorkerTaintingSynthesized); \
939
  nsresult AppendRedirectHistoryEntry(nsIRedirectHistoryEntry *entry, bool isInternalRedirect); \
940
  nsresult GetRedirectChainIncludingInternalRedirects(JSContext* cx, JS::MutableHandleValue aRedirectChainIncludingInternalRedirects); \
941
  const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChainIncludingInternalRedirects(void); \
942
  nsresult GetRedirectChain(JSContext* cx, JS::MutableHandleValue aRedirectChain); \
943
  const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChain(void); \
944
  const nsTArray<nsCOMPtr<nsIPrincipal>> & AncestorPrincipals(void); \
945
  const nsTArray<uint64_t> & AncestorOuterWindowIDs(void); \
946
  void SetCorsPreflightInfo(const nsTArray<nsCString> & unsafeHeaders, bool forcePreflight); \
947
  const nsTArray<nsCString> & CorsUnsafeHeaders(void); \
948
  using nsILoadInfo::GetForcePreflight; \
949
  nsresult GetForcePreflight(bool *aForcePreflight); \
950
  using nsILoadInfo::GetIsPreflight; \
951
  nsresult GetIsPreflight(bool *aIsPreflight); \
952
  nsresult GetTainting(uint32_t *aTainting); \
953
  nsresult MaybeIncreaseTainting(uint32_t aTainting); \
954
  using nsILoadInfo::GetIsTopLevelLoad; \
955
  nsresult GetIsTopLevelLoad(bool *aIsTopLevelLoad); \
956
  nsresult GetResultPrincipalURI(nsIURI **aResultPrincipalURI); \
957
  nsresult SetResultPrincipalURI(nsIURI *aResultPrincipalURI); \
958
  nsresult GetSandboxedLoadingPrincipal(nsIPrincipal **aSandboxedLoadingPrincipal); \
959
  nsresult GetTopLevelPrincipal(nsIPrincipal **aTopLevelPrincipal); \
960
  nsIPrincipal * TopLevelPrincipal(void); \
961
  nsresult GetTopLevelStorageAreaPrincipal(nsIPrincipal **aTopLevelStorageAreaPrincipal); \
962
  nsIPrincipal * TopLevelStorageAreaPrincipal(void); \
963
  void SetClientInfo(const mozilla::dom::ClientInfo & aClientInfo); \
964
  const mozilla::Maybe<mozilla::dom::ClientInfo> & GetClientInfo(void); \
965
  void GiveReservedClientSource(mozilla::UniquePtr<mozilla::dom::ClientSource>&& aClientSource); \
966
  mozilla::UniquePtr<mozilla::dom::ClientSource> TakeReservedClientSource(void); \
967
  void SetReservedClientInfo(const mozilla::dom::ClientInfo & aClientInfo); \
968
  void OverrideReservedClientInfoInParent(const mozilla::dom::ClientInfo & aClientInfo); \
969
  const mozilla::Maybe<mozilla::dom::ClientInfo> & GetReservedClientInfo(void); \
970
  void SetInitialClientInfo(const mozilla::dom::ClientInfo & aClientInfo); \
971
  const mozilla::Maybe<mozilla::dom::ClientInfo> & GetInitialClientInfo(void); \
972
  void SetController(const mozilla::dom::ServiceWorkerDescriptor & aServiceWorker); \
973
  void ClearController(void); \
974
  const mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> & GetController(void); \
975
  void SetPerformanceStorage(mozilla::dom::PerformanceStorage * aPerformanceStorage); \
976
  mozilla::dom::PerformanceStorage * GetPerformanceStorage(void); \
977
  void SynthesizeServiceWorkerTainting(mozilla::LoadTainting aTainting); \
978
  using nsILoadInfo::GetIsTracker; \
979
  nsresult GetIsTracker(bool *aIsTracker); \
980
  nsresult SetIsTracker(bool aIsTracker); \
981
  using nsILoadInfo::GetIsTrackerBlocked; \
982
  nsresult GetIsTrackerBlocked(bool *aIsTrackerBlocked); \
983
  nsresult SetIsTrackerBlocked(bool aIsTrackerBlocked); \
984
  nsresult GetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED * aTrackerBlockedReason); \
985
  nsresult SetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED aTrackerBlockedReason); \
986
  using nsILoadInfo::GetDocumentHasUserInteracted; \
987
  nsresult GetDocumentHasUserInteracted(bool *aDocumentHasUserInteracted); \
988
  nsresult SetDocumentHasUserInteracted(bool aDocumentHasUserInteracted); 
989
990
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
991
#define NS_FORWARD_NSILOADINFO(_to) \
992
  NS_IMETHOD GetLoadingPrincipal(nsIPrincipal **aLoadingPrincipal) override { return _to GetLoadingPrincipal(aLoadingPrincipal); } \
993
  virtual nsIPrincipal * LoadingPrincipal(void) override { return _to LoadingPrincipal(); } \
994
  NS_IMETHOD GetTriggeringPrincipal(nsIPrincipal **aTriggeringPrincipal) override { return _to GetTriggeringPrincipal(aTriggeringPrincipal); } \
995
  virtual nsIPrincipal * TriggeringPrincipal(void) override { return _to TriggeringPrincipal(); } \
996
  NS_IMETHOD GetPrincipalToInherit(nsIPrincipal **aPrincipalToInherit) override { return _to GetPrincipalToInherit(aPrincipalToInherit); } \
997
  NS_IMETHOD SetPrincipalToInherit(nsIPrincipal *aPrincipalToInherit) override { return _to SetPrincipalToInherit(aPrincipalToInherit); } \
998
  virtual nsIPrincipal * PrincipalToInherit(void) override { return _to PrincipalToInherit(); } \
999
  virtual nsIPrincipal * FindPrincipalToInherit(nsIChannel *aChannel) override { return _to FindPrincipalToInherit(aChannel); } \
1000
  NS_IMETHOD GetLoadingDocument(nsIDocument **aLoadingDocument) override { return _to GetLoadingDocument(aLoadingDocument); } \
1001
  virtual nsINode * LoadingNode(void) override { return _to LoadingNode(); } \
1002
  virtual already_AddRefed<nsISupports> ContextForTopLevelLoad(void) override { return _to ContextForTopLevelLoad(); } \
1003
  NS_IMETHOD GetLoadingContextXPCOM(nsISupports **aLoadingContext) override { return _to GetLoadingContextXPCOM(aLoadingContext); } \
1004
  virtual already_AddRefed<nsISupports> GetLoadingContext(void) override { return _to GetLoadingContext(); } \
1005
  NS_IMETHOD GetSecurityFlags(nsSecurityFlags *aSecurityFlags) override { return _to GetSecurityFlags(aSecurityFlags); } \
1006
  using nsILoadInfo::GetSecurityMode; \
1007
  NS_IMETHOD GetSecurityMode(uint32_t *aSecurityMode) override { return _to GetSecurityMode(aSecurityMode); } \
1008
  using nsILoadInfo::GetIsInThirdPartyContext; \
1009
  NS_IMETHOD GetIsInThirdPartyContext(bool *aIsInThirdPartyContext) override { return _to GetIsInThirdPartyContext(aIsInThirdPartyContext); } \
1010
  using nsILoadInfo::GetCookiePolicy; \
1011
  NS_IMETHOD GetCookiePolicy(uint32_t *aCookiePolicy) override { return _to GetCookiePolicy(aCookiePolicy); } \
1012
  using nsILoadInfo::GetForceInheritPrincipal; \
1013
  NS_IMETHOD GetForceInheritPrincipal(bool *aForceInheritPrincipal) override { return _to GetForceInheritPrincipal(aForceInheritPrincipal); } \
1014
  using nsILoadInfo::GetForceInheritPrincipalOverruleOwner; \
1015
  NS_IMETHOD GetForceInheritPrincipalOverruleOwner(bool *aForceInheritPrincipalOverruleOwner) override { return _to GetForceInheritPrincipalOverruleOwner(aForceInheritPrincipalOverruleOwner); } \
1016
  using nsILoadInfo::GetLoadingSandboxed; \
1017
  NS_IMETHOD GetLoadingSandboxed(bool *aLoadingSandboxed) override { return _to GetLoadingSandboxed(aLoadingSandboxed); } \
1018
  using nsILoadInfo::GetAboutBlankInherits; \
1019
  NS_IMETHOD GetAboutBlankInherits(bool *aAboutBlankInherits) override { return _to GetAboutBlankInherits(aAboutBlankInherits); } \
1020
  using nsILoadInfo::GetAllowChrome; \
1021
  NS_IMETHOD GetAllowChrome(bool *aAllowChrome) override { return _to GetAllowChrome(aAllowChrome); } \
1022
  using nsILoadInfo::GetDisallowScript; \
1023
  NS_IMETHOD GetDisallowScript(bool *aDisallowScript) override { return _to GetDisallowScript(aDisallowScript); } \
1024
  using nsILoadInfo::GetDontFollowRedirects; \
1025
  NS_IMETHOD GetDontFollowRedirects(bool *aDontFollowRedirects) override { return _to GetDontFollowRedirects(aDontFollowRedirects); } \
1026
  using nsILoadInfo::GetLoadErrorPage; \
1027
  NS_IMETHOD GetLoadErrorPage(bool *aLoadErrorPage) override { return _to GetLoadErrorPage(aLoadErrorPage); } \
1028
  using nsILoadInfo::GetIsDocshellReload; \
1029
  NS_IMETHOD GetIsDocshellReload(bool *aIsDocshellReload) override { return _to GetIsDocshellReload(aIsDocshellReload); } \
1030
  NS_IMETHOD SetIsDocshellReload(bool aIsDocshellReload) override { return _to SetIsDocshellReload(aIsDocshellReload); } \
1031
  NS_IMETHOD GetExternalContentPolicyType(nsContentPolicyType *aExternalContentPolicyType) override { return _to GetExternalContentPolicyType(aExternalContentPolicyType); } \
1032
  using nsILoadInfo::GetSendCSPViolationEvents; \
1033
  NS_IMETHOD GetSendCSPViolationEvents(bool *aSendCSPViolationEvents) override { return _to GetSendCSPViolationEvents(aSendCSPViolationEvents); } \
1034
  NS_IMETHOD SetSendCSPViolationEvents(bool aSendCSPViolationEvents) override { return _to SetSendCSPViolationEvents(aSendCSPViolationEvents); } \
1035
  NS_IMETHOD_(nsContentPolicyType) InternalContentPolicyType(void) override { return _to InternalContentPolicyType(); } \
1036
  using nsILoadInfo::GetUpgradeInsecureRequests; \
1037
  NS_IMETHOD GetUpgradeInsecureRequests(bool *aUpgradeInsecureRequests) override { return _to GetUpgradeInsecureRequests(aUpgradeInsecureRequests); } \
1038
  using nsILoadInfo::GetBrowserUpgradeInsecureRequests; \
1039
  NS_IMETHOD GetBrowserUpgradeInsecureRequests(bool *aBrowserUpgradeInsecureRequests) override { return _to GetBrowserUpgradeInsecureRequests(aBrowserUpgradeInsecureRequests); } \
1040
  using nsILoadInfo::GetBrowserWouldUpgradeInsecureRequests; \
1041
  NS_IMETHOD GetBrowserWouldUpgradeInsecureRequests(bool *aBrowserWouldUpgradeInsecureRequests) override { return _to GetBrowserWouldUpgradeInsecureRequests(aBrowserWouldUpgradeInsecureRequests); } \
1042
  using nsILoadInfo::GetVerifySignedContent; \
1043
  NS_IMETHOD GetVerifySignedContent(bool *aVerifySignedContent) override { return _to GetVerifySignedContent(aVerifySignedContent); } \
1044
  NS_IMETHOD SetVerifySignedContent(bool aVerifySignedContent) override { return _to SetVerifySignedContent(aVerifySignedContent); } \
1045
  using nsILoadInfo::GetEnforceSRI; \
1046
  NS_IMETHOD GetEnforceSRI(bool *aEnforceSRI) override { return _to GetEnforceSRI(aEnforceSRI); } \
1047
  NS_IMETHOD SetEnforceSRI(bool aEnforceSRI) override { return _to SetEnforceSRI(aEnforceSRI); } \
1048
  using nsILoadInfo::GetForceAllowDataURI; \
1049
  NS_IMETHOD GetForceAllowDataURI(bool *aForceAllowDataURI) override { return _to GetForceAllowDataURI(aForceAllowDataURI); } \
1050
  NS_IMETHOD SetForceAllowDataURI(bool aForceAllowDataURI) override { return _to SetForceAllowDataURI(aForceAllowDataURI); } \
1051
  using nsILoadInfo::GetAllowInsecureRedirectToDataURI; \
1052
  NS_IMETHOD GetAllowInsecureRedirectToDataURI(bool *aAllowInsecureRedirectToDataURI) override { return _to GetAllowInsecureRedirectToDataURI(aAllowInsecureRedirectToDataURI); } \
1053
  NS_IMETHOD SetAllowInsecureRedirectToDataURI(bool aAllowInsecureRedirectToDataURI) override { return _to SetAllowInsecureRedirectToDataURI(aAllowInsecureRedirectToDataURI); } \
1054
  using nsILoadInfo::GetSkipContentPolicyCheckForWebRequest; \
1055
  NS_IMETHOD GetSkipContentPolicyCheckForWebRequest(bool *aSkipContentPolicyCheckForWebRequest) override { return _to GetSkipContentPolicyCheckForWebRequest(aSkipContentPolicyCheckForWebRequest); } \
1056
  NS_IMETHOD SetSkipContentPolicyCheckForWebRequest(bool aSkipContentPolicyCheckForWebRequest) override { return _to SetSkipContentPolicyCheckForWebRequest(aSkipContentPolicyCheckForWebRequest); } \
1057
  using nsILoadInfo::GetOriginalFrameSrcLoad; \
1058
  NS_IMETHOD GetOriginalFrameSrcLoad(bool *aOriginalFrameSrcLoad) override { return _to GetOriginalFrameSrcLoad(aOriginalFrameSrcLoad); } \
1059
  NS_IMETHOD SetOriginalFrameSrcLoad(bool aOriginalFrameSrcLoad) override { return _to SetOriginalFrameSrcLoad(aOriginalFrameSrcLoad); } \
1060
  using nsILoadInfo::GetForceInheritPrincipalDropped; \
1061
  NS_IMETHOD GetForceInheritPrincipalDropped(bool *aForceInheritPrincipalDropped) override { return _to GetForceInheritPrincipalDropped(aForceInheritPrincipalDropped); } \
1062
  using nsILoadInfo::GetInnerWindowID; \
1063
  NS_IMETHOD GetInnerWindowID(uint64_t *aInnerWindowID) override { return _to GetInnerWindowID(aInnerWindowID); } \
1064
  using nsILoadInfo::GetOuterWindowID; \
1065
  NS_IMETHOD GetOuterWindowID(uint64_t *aOuterWindowID) override { return _to GetOuterWindowID(aOuterWindowID); } \
1066
  using nsILoadInfo::GetParentOuterWindowID; \
1067
  NS_IMETHOD GetParentOuterWindowID(uint64_t *aParentOuterWindowID) override { return _to GetParentOuterWindowID(aParentOuterWindowID); } \
1068
  using nsILoadInfo::GetTopOuterWindowID; \
1069
  NS_IMETHOD GetTopOuterWindowID(uint64_t *aTopOuterWindowID) override { return _to GetTopOuterWindowID(aTopOuterWindowID); } \
1070
  using nsILoadInfo::GetFrameOuterWindowID; \
1071
  NS_IMETHOD GetFrameOuterWindowID(uint64_t *aFrameOuterWindowID) override { return _to GetFrameOuterWindowID(aFrameOuterWindowID); } \
1072
  NS_IMETHOD ResetPrincipalToInheritToNullPrincipal(void) override { return _to ResetPrincipalToInheritToNullPrincipal(); } \
1073
  NS_IMETHOD GetScriptableOriginAttributes(JSContext* cx, JS::MutableHandleValue aOriginAttributes) override { return _to GetScriptableOriginAttributes(cx, aOriginAttributes); } \
1074
  NS_IMETHOD SetScriptableOriginAttributes(JSContext* cx, JS::HandleValue aOriginAttributes) override { return _to SetScriptableOriginAttributes(cx, aOriginAttributes); } \
1075
  virtual nsresult GetOriginAttributes(mozilla::OriginAttributes * _retval) override { return _to GetOriginAttributes(_retval); } \
1076
  virtual nsresult SetOriginAttributes(const mozilla::OriginAttributes & aOriginAttrs) override { return _to SetOriginAttributes(aOriginAttrs); } \
1077
  using nsILoadInfo::GetEnforceSecurity; \
1078
  NS_IMETHOD GetEnforceSecurity(bool *aEnforceSecurity) override { return _to GetEnforceSecurity(aEnforceSecurity); } \
1079
  NS_IMETHOD SetEnforceSecurity(bool aEnforceSecurity) override { return _to SetEnforceSecurity(aEnforceSecurity); } \
1080
  using nsILoadInfo::GetInitialSecurityCheckDone; \
1081
  NS_IMETHOD GetInitialSecurityCheckDone(bool *aInitialSecurityCheckDone) override { return _to GetInitialSecurityCheckDone(aInitialSecurityCheckDone); } \
1082
  NS_IMETHOD SetInitialSecurityCheckDone(bool aInitialSecurityCheckDone) override { return _to SetInitialSecurityCheckDone(aInitialSecurityCheckDone); } \
1083
  using nsILoadInfo::GetLoadTriggeredFromExternal; \
1084
  NS_IMETHOD GetLoadTriggeredFromExternal(bool *aLoadTriggeredFromExternal) override { return _to GetLoadTriggeredFromExternal(aLoadTriggeredFromExternal); } \
1085
  NS_IMETHOD SetLoadTriggeredFromExternal(bool aLoadTriggeredFromExternal) override { return _to SetLoadTriggeredFromExternal(aLoadTriggeredFromExternal); } \
1086
  using nsILoadInfo::GetServiceWorkerTaintingSynthesized; \
1087
  NS_IMETHOD GetServiceWorkerTaintingSynthesized(bool *aServiceWorkerTaintingSynthesized) override { return _to GetServiceWorkerTaintingSynthesized(aServiceWorkerTaintingSynthesized); } \
1088
  NS_IMETHOD AppendRedirectHistoryEntry(nsIRedirectHistoryEntry *entry, bool isInternalRedirect) override { return _to AppendRedirectHistoryEntry(entry, isInternalRedirect); } \
1089
  NS_IMETHOD GetRedirectChainIncludingInternalRedirects(JSContext* cx, JS::MutableHandleValue aRedirectChainIncludingInternalRedirects) override { return _to GetRedirectChainIncludingInternalRedirects(cx, aRedirectChainIncludingInternalRedirects); } \
1090
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChainIncludingInternalRedirects(void) override { return _to RedirectChainIncludingInternalRedirects(); } \
1091
  NS_IMETHOD GetRedirectChain(JSContext* cx, JS::MutableHandleValue aRedirectChain) override { return _to GetRedirectChain(cx, aRedirectChain); } \
1092
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChain(void) override { return _to RedirectChain(); } \
1093
  virtual const nsTArray<nsCOMPtr<nsIPrincipal>> & AncestorPrincipals(void) override { return _to AncestorPrincipals(); } \
1094
  virtual const nsTArray<uint64_t> & AncestorOuterWindowIDs(void) override { return _to AncestorOuterWindowIDs(); } \
1095
  virtual void SetCorsPreflightInfo(const nsTArray<nsCString> & unsafeHeaders, bool forcePreflight) override { return _to SetCorsPreflightInfo(unsafeHeaders, forcePreflight); } \
1096
  virtual const nsTArray<nsCString> & CorsUnsafeHeaders(void) override { return _to CorsUnsafeHeaders(); } \
1097
  using nsILoadInfo::GetForcePreflight; \
1098
  NS_IMETHOD GetForcePreflight(bool *aForcePreflight) override { return _to GetForcePreflight(aForcePreflight); } \
1099
  using nsILoadInfo::GetIsPreflight; \
1100
  NS_IMETHOD GetIsPreflight(bool *aIsPreflight) override { return _to GetIsPreflight(aIsPreflight); } \
1101
  NS_IMETHOD GetTainting(uint32_t *aTainting) override { return _to GetTainting(aTainting); } \
1102
  NS_IMETHOD MaybeIncreaseTainting(uint32_t aTainting) override { return _to MaybeIncreaseTainting(aTainting); } \
1103
  using nsILoadInfo::GetIsTopLevelLoad; \
1104
  NS_IMETHOD GetIsTopLevelLoad(bool *aIsTopLevelLoad) override { return _to GetIsTopLevelLoad(aIsTopLevelLoad); } \
1105
  NS_IMETHOD GetResultPrincipalURI(nsIURI **aResultPrincipalURI) override { return _to GetResultPrincipalURI(aResultPrincipalURI); } \
1106
  NS_IMETHOD SetResultPrincipalURI(nsIURI *aResultPrincipalURI) override { return _to SetResultPrincipalURI(aResultPrincipalURI); } \
1107
  NS_IMETHOD GetSandboxedLoadingPrincipal(nsIPrincipal **aSandboxedLoadingPrincipal) override { return _to GetSandboxedLoadingPrincipal(aSandboxedLoadingPrincipal); } \
1108
  NS_IMETHOD GetTopLevelPrincipal(nsIPrincipal **aTopLevelPrincipal) override { return _to GetTopLevelPrincipal(aTopLevelPrincipal); } \
1109
  virtual nsIPrincipal * TopLevelPrincipal(void) override { return _to TopLevelPrincipal(); } \
1110
  NS_IMETHOD GetTopLevelStorageAreaPrincipal(nsIPrincipal **aTopLevelStorageAreaPrincipal) override { return _to GetTopLevelStorageAreaPrincipal(aTopLevelStorageAreaPrincipal); } \
1111
  virtual nsIPrincipal * TopLevelStorageAreaPrincipal(void) override { return _to TopLevelStorageAreaPrincipal(); } \
1112
  virtual void SetClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override { return _to SetClientInfo(aClientInfo); } \
1113
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetClientInfo(void) override { return _to GetClientInfo(); } \
1114
  virtual void GiveReservedClientSource(mozilla::UniquePtr<mozilla::dom::ClientSource>&& aClientSource) override { return _to GiveReservedClientSource(aClientSource); } \
1115
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeReservedClientSource(void) override { return _to TakeReservedClientSource(); } \
1116
  virtual void SetReservedClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override { return _to SetReservedClientInfo(aClientInfo); } \
1117
  virtual void OverrideReservedClientInfoInParent(const mozilla::dom::ClientInfo & aClientInfo) override { return _to OverrideReservedClientInfoInParent(aClientInfo); } \
1118
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetReservedClientInfo(void) override { return _to GetReservedClientInfo(); } \
1119
  virtual void SetInitialClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override { return _to SetInitialClientInfo(aClientInfo); } \
1120
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetInitialClientInfo(void) override { return _to GetInitialClientInfo(); } \
1121
  virtual void SetController(const mozilla::dom::ServiceWorkerDescriptor & aServiceWorker) override { return _to SetController(aServiceWorker); } \
1122
  virtual void ClearController(void) override { return _to ClearController(); } \
1123
  virtual const mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> & GetController(void) override { return _to GetController(); } \
1124
  virtual void SetPerformanceStorage(mozilla::dom::PerformanceStorage * aPerformanceStorage) override { return _to SetPerformanceStorage(aPerformanceStorage); } \
1125
  virtual mozilla::dom::PerformanceStorage * GetPerformanceStorage(void) override { return _to GetPerformanceStorage(); } \
1126
  virtual void SynthesizeServiceWorkerTainting(mozilla::LoadTainting aTainting) override { return _to SynthesizeServiceWorkerTainting(aTainting); } \
1127
  using nsILoadInfo::GetIsTracker; \
1128
  NS_IMETHOD GetIsTracker(bool *aIsTracker) override { return _to GetIsTracker(aIsTracker); } \
1129
  NS_IMETHOD SetIsTracker(bool aIsTracker) override { return _to SetIsTracker(aIsTracker); } \
1130
  using nsILoadInfo::GetIsTrackerBlocked; \
1131
  NS_IMETHOD GetIsTrackerBlocked(bool *aIsTrackerBlocked) override { return _to GetIsTrackerBlocked(aIsTrackerBlocked); } \
1132
  NS_IMETHOD SetIsTrackerBlocked(bool aIsTrackerBlocked) override { return _to SetIsTrackerBlocked(aIsTrackerBlocked); } \
1133
  NS_IMETHOD GetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED * aTrackerBlockedReason) override { return _to GetTrackerBlockedReason(aTrackerBlockedReason); } \
1134
  NS_IMETHOD SetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED aTrackerBlockedReason) override { return _to SetTrackerBlockedReason(aTrackerBlockedReason); } \
1135
  using nsILoadInfo::GetDocumentHasUserInteracted; \
1136
  NS_IMETHOD GetDocumentHasUserInteracted(bool *aDocumentHasUserInteracted) override { return _to GetDocumentHasUserInteracted(aDocumentHasUserInteracted); } \
1137
  NS_IMETHOD SetDocumentHasUserInteracted(bool aDocumentHasUserInteracted) override { return _to SetDocumentHasUserInteracted(aDocumentHasUserInteracted); } 
1138
1139
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1140
#define NS_FORWARD_SAFE_NSILOADINFO(_to) \
1141
  NS_IMETHOD GetLoadingPrincipal(nsIPrincipal **aLoadingPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadingPrincipal(aLoadingPrincipal); } \
1142
  virtual nsIPrincipal * LoadingPrincipal(void) override; \
1143
  NS_IMETHOD GetTriggeringPrincipal(nsIPrincipal **aTriggeringPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTriggeringPrincipal(aTriggeringPrincipal); } \
1144
  virtual nsIPrincipal * TriggeringPrincipal(void) override; \
1145
  NS_IMETHOD GetPrincipalToInherit(nsIPrincipal **aPrincipalToInherit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrincipalToInherit(aPrincipalToInherit); } \
1146
  NS_IMETHOD SetPrincipalToInherit(nsIPrincipal *aPrincipalToInherit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrincipalToInherit(aPrincipalToInherit); } \
1147
  virtual nsIPrincipal * PrincipalToInherit(void) override; \
1148
  virtual nsIPrincipal * FindPrincipalToInherit(nsIChannel *aChannel) override; \
1149
  NS_IMETHOD GetLoadingDocument(nsIDocument **aLoadingDocument) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadingDocument(aLoadingDocument); } \
1150
  virtual nsINode * LoadingNode(void) override; \
1151
  virtual already_AddRefed<nsISupports> ContextForTopLevelLoad(void) override; \
1152
  NS_IMETHOD GetLoadingContextXPCOM(nsISupports **aLoadingContext) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadingContextXPCOM(aLoadingContext); } \
1153
  virtual already_AddRefed<nsISupports> GetLoadingContext(void) override; \
1154
  NS_IMETHOD GetSecurityFlags(nsSecurityFlags *aSecurityFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSecurityFlags(aSecurityFlags); } \
1155
  NS_IMETHOD GetSecurityMode(uint32_t *aSecurityMode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSecurityMode(aSecurityMode); } \
1156
  NS_IMETHOD GetIsInThirdPartyContext(bool *aIsInThirdPartyContext) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsInThirdPartyContext(aIsInThirdPartyContext); } \
1157
  NS_IMETHOD GetCookiePolicy(uint32_t *aCookiePolicy) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCookiePolicy(aCookiePolicy); } \
1158
  NS_IMETHOD GetForceInheritPrincipal(bool *aForceInheritPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForceInheritPrincipal(aForceInheritPrincipal); } \
1159
  NS_IMETHOD GetForceInheritPrincipalOverruleOwner(bool *aForceInheritPrincipalOverruleOwner) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForceInheritPrincipalOverruleOwner(aForceInheritPrincipalOverruleOwner); } \
1160
  NS_IMETHOD GetLoadingSandboxed(bool *aLoadingSandboxed) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadingSandboxed(aLoadingSandboxed); } \
1161
  NS_IMETHOD GetAboutBlankInherits(bool *aAboutBlankInherits) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAboutBlankInherits(aAboutBlankInherits); } \
1162
  NS_IMETHOD GetAllowChrome(bool *aAllowChrome) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowChrome(aAllowChrome); } \
1163
  NS_IMETHOD GetDisallowScript(bool *aDisallowScript) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDisallowScript(aDisallowScript); } \
1164
  NS_IMETHOD GetDontFollowRedirects(bool *aDontFollowRedirects) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDontFollowRedirects(aDontFollowRedirects); } \
1165
  NS_IMETHOD GetLoadErrorPage(bool *aLoadErrorPage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadErrorPage(aLoadErrorPage); } \
1166
  NS_IMETHOD GetIsDocshellReload(bool *aIsDocshellReload) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDocshellReload(aIsDocshellReload); } \
1167
  NS_IMETHOD SetIsDocshellReload(bool aIsDocshellReload) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsDocshellReload(aIsDocshellReload); } \
1168
  NS_IMETHOD GetExternalContentPolicyType(nsContentPolicyType *aExternalContentPolicyType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetExternalContentPolicyType(aExternalContentPolicyType); } \
1169
  NS_IMETHOD GetSendCSPViolationEvents(bool *aSendCSPViolationEvents) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSendCSPViolationEvents(aSendCSPViolationEvents); } \
1170
  NS_IMETHOD SetSendCSPViolationEvents(bool aSendCSPViolationEvents) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSendCSPViolationEvents(aSendCSPViolationEvents); } \
1171
  NS_IMETHOD_(nsContentPolicyType) InternalContentPolicyType(void) override; \
1172
  NS_IMETHOD GetUpgradeInsecureRequests(bool *aUpgradeInsecureRequests) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUpgradeInsecureRequests(aUpgradeInsecureRequests); } \
1173
  NS_IMETHOD GetBrowserUpgradeInsecureRequests(bool *aBrowserUpgradeInsecureRequests) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBrowserUpgradeInsecureRequests(aBrowserUpgradeInsecureRequests); } \
1174
  NS_IMETHOD GetBrowserWouldUpgradeInsecureRequests(bool *aBrowserWouldUpgradeInsecureRequests) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBrowserWouldUpgradeInsecureRequests(aBrowserWouldUpgradeInsecureRequests); } \
1175
  NS_IMETHOD GetVerifySignedContent(bool *aVerifySignedContent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetVerifySignedContent(aVerifySignedContent); } \
1176
  NS_IMETHOD SetVerifySignedContent(bool aVerifySignedContent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetVerifySignedContent(aVerifySignedContent); } \
1177
  NS_IMETHOD GetEnforceSRI(bool *aEnforceSRI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEnforceSRI(aEnforceSRI); } \
1178
  NS_IMETHOD SetEnforceSRI(bool aEnforceSRI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEnforceSRI(aEnforceSRI); } \
1179
  NS_IMETHOD GetForceAllowDataURI(bool *aForceAllowDataURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForceAllowDataURI(aForceAllowDataURI); } \
1180
  NS_IMETHOD SetForceAllowDataURI(bool aForceAllowDataURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetForceAllowDataURI(aForceAllowDataURI); } \
1181
  NS_IMETHOD GetAllowInsecureRedirectToDataURI(bool *aAllowInsecureRedirectToDataURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowInsecureRedirectToDataURI(aAllowInsecureRedirectToDataURI); } \
1182
  NS_IMETHOD SetAllowInsecureRedirectToDataURI(bool aAllowInsecureRedirectToDataURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowInsecureRedirectToDataURI(aAllowInsecureRedirectToDataURI); } \
1183
  NS_IMETHOD GetSkipContentPolicyCheckForWebRequest(bool *aSkipContentPolicyCheckForWebRequest) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSkipContentPolicyCheckForWebRequest(aSkipContentPolicyCheckForWebRequest); } \
1184
  NS_IMETHOD SetSkipContentPolicyCheckForWebRequest(bool aSkipContentPolicyCheckForWebRequest) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSkipContentPolicyCheckForWebRequest(aSkipContentPolicyCheckForWebRequest); } \
1185
  NS_IMETHOD GetOriginalFrameSrcLoad(bool *aOriginalFrameSrcLoad) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOriginalFrameSrcLoad(aOriginalFrameSrcLoad); } \
1186
  NS_IMETHOD SetOriginalFrameSrcLoad(bool aOriginalFrameSrcLoad) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOriginalFrameSrcLoad(aOriginalFrameSrcLoad); } \
1187
  NS_IMETHOD GetForceInheritPrincipalDropped(bool *aForceInheritPrincipalDropped) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForceInheritPrincipalDropped(aForceInheritPrincipalDropped); } \
1188
  NS_IMETHOD GetInnerWindowID(uint64_t *aInnerWindowID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInnerWindowID(aInnerWindowID); } \
1189
  NS_IMETHOD GetOuterWindowID(uint64_t *aOuterWindowID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOuterWindowID(aOuterWindowID); } \
1190
  NS_IMETHOD GetParentOuterWindowID(uint64_t *aParentOuterWindowID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParentOuterWindowID(aParentOuterWindowID); } \
1191
  NS_IMETHOD GetTopOuterWindowID(uint64_t *aTopOuterWindowID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTopOuterWindowID(aTopOuterWindowID); } \
1192
  NS_IMETHOD GetFrameOuterWindowID(uint64_t *aFrameOuterWindowID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFrameOuterWindowID(aFrameOuterWindowID); } \
1193
  NS_IMETHOD ResetPrincipalToInheritToNullPrincipal(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ResetPrincipalToInheritToNullPrincipal(); } \
1194
  NS_IMETHOD GetScriptableOriginAttributes(JSContext* cx, JS::MutableHandleValue aOriginAttributes) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScriptableOriginAttributes(cx, aOriginAttributes); } \
1195
  NS_IMETHOD SetScriptableOriginAttributes(JSContext* cx, JS::HandleValue aOriginAttributes) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetScriptableOriginAttributes(cx, aOriginAttributes); } \
1196
  virtual nsresult GetOriginAttributes(mozilla::OriginAttributes * _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOriginAttributes(_retval); } \
1197
  virtual nsresult SetOriginAttributes(const mozilla::OriginAttributes & aOriginAttrs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOriginAttributes(aOriginAttrs); } \
1198
  NS_IMETHOD GetEnforceSecurity(bool *aEnforceSecurity) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEnforceSecurity(aEnforceSecurity); } \
1199
  NS_IMETHOD SetEnforceSecurity(bool aEnforceSecurity) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEnforceSecurity(aEnforceSecurity); } \
1200
  NS_IMETHOD GetInitialSecurityCheckDone(bool *aInitialSecurityCheckDone) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInitialSecurityCheckDone(aInitialSecurityCheckDone); } \
1201
  NS_IMETHOD SetInitialSecurityCheckDone(bool aInitialSecurityCheckDone) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetInitialSecurityCheckDone(aInitialSecurityCheckDone); } \
1202
  NS_IMETHOD GetLoadTriggeredFromExternal(bool *aLoadTriggeredFromExternal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadTriggeredFromExternal(aLoadTriggeredFromExternal); } \
1203
  NS_IMETHOD SetLoadTriggeredFromExternal(bool aLoadTriggeredFromExternal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLoadTriggeredFromExternal(aLoadTriggeredFromExternal); } \
1204
  NS_IMETHOD GetServiceWorkerTaintingSynthesized(bool *aServiceWorkerTaintingSynthesized) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServiceWorkerTaintingSynthesized(aServiceWorkerTaintingSynthesized); } \
1205
  NS_IMETHOD AppendRedirectHistoryEntry(nsIRedirectHistoryEntry *entry, bool isInternalRedirect) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AppendRedirectHistoryEntry(entry, isInternalRedirect); } \
1206
  NS_IMETHOD GetRedirectChainIncludingInternalRedirects(JSContext* cx, JS::MutableHandleValue aRedirectChainIncludingInternalRedirects) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRedirectChainIncludingInternalRedirects(cx, aRedirectChainIncludingInternalRedirects); } \
1207
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChainIncludingInternalRedirects(void) override; \
1208
  NS_IMETHOD GetRedirectChain(JSContext* cx, JS::MutableHandleValue aRedirectChain) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRedirectChain(cx, aRedirectChain); } \
1209
  virtual const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> & RedirectChain(void) override; \
1210
  virtual const nsTArray<nsCOMPtr<nsIPrincipal>> & AncestorPrincipals(void) override; \
1211
  virtual const nsTArray<uint64_t> & AncestorOuterWindowIDs(void) override; \
1212
  virtual void SetCorsPreflightInfo(const nsTArray<nsCString> & unsafeHeaders, bool forcePreflight) override; \
1213
  virtual const nsTArray<nsCString> & CorsUnsafeHeaders(void) override; \
1214
  NS_IMETHOD GetForcePreflight(bool *aForcePreflight) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForcePreflight(aForcePreflight); } \
1215
  NS_IMETHOD GetIsPreflight(bool *aIsPreflight) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsPreflight(aIsPreflight); } \
1216
  NS_IMETHOD GetTainting(uint32_t *aTainting) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTainting(aTainting); } \
1217
  NS_IMETHOD MaybeIncreaseTainting(uint32_t aTainting) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MaybeIncreaseTainting(aTainting); } \
1218
  NS_IMETHOD GetIsTopLevelLoad(bool *aIsTopLevelLoad) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsTopLevelLoad(aIsTopLevelLoad); } \
1219
  NS_IMETHOD GetResultPrincipalURI(nsIURI **aResultPrincipalURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResultPrincipalURI(aResultPrincipalURI); } \
1220
  NS_IMETHOD SetResultPrincipalURI(nsIURI *aResultPrincipalURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetResultPrincipalURI(aResultPrincipalURI); } \
1221
  NS_IMETHOD GetSandboxedLoadingPrincipal(nsIPrincipal **aSandboxedLoadingPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSandboxedLoadingPrincipal(aSandboxedLoadingPrincipal); } \
1222
  NS_IMETHOD GetTopLevelPrincipal(nsIPrincipal **aTopLevelPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTopLevelPrincipal(aTopLevelPrincipal); } \
1223
  virtual nsIPrincipal * TopLevelPrincipal(void) override; \
1224
  NS_IMETHOD GetTopLevelStorageAreaPrincipal(nsIPrincipal **aTopLevelStorageAreaPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTopLevelStorageAreaPrincipal(aTopLevelStorageAreaPrincipal); } \
1225
  virtual nsIPrincipal * TopLevelStorageAreaPrincipal(void) override; \
1226
  virtual void SetClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override; \
1227
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetClientInfo(void) override; \
1228
  virtual void GiveReservedClientSource(mozilla::UniquePtr<mozilla::dom::ClientSource>&& aClientSource) override; \
1229
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeReservedClientSource(void) override; \
1230
  virtual void SetReservedClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override; \
1231
  virtual void OverrideReservedClientInfoInParent(const mozilla::dom::ClientInfo & aClientInfo) override; \
1232
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetReservedClientInfo(void) override; \
1233
  virtual void SetInitialClientInfo(const mozilla::dom::ClientInfo & aClientInfo) override; \
1234
  virtual const mozilla::Maybe<mozilla::dom::ClientInfo> & GetInitialClientInfo(void) override; \
1235
  virtual void SetController(const mozilla::dom::ServiceWorkerDescriptor & aServiceWorker) override; \
1236
  virtual void ClearController(void) override; \
1237
  virtual const mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> & GetController(void) override; \
1238
  virtual void SetPerformanceStorage(mozilla::dom::PerformanceStorage * aPerformanceStorage) override; \
1239
  virtual mozilla::dom::PerformanceStorage * GetPerformanceStorage(void) override; \
1240
  virtual void SynthesizeServiceWorkerTainting(mozilla::LoadTainting aTainting) override; \
1241
  NS_IMETHOD GetIsTracker(bool *aIsTracker) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsTracker(aIsTracker); } \
1242
  NS_IMETHOD SetIsTracker(bool aIsTracker) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsTracker(aIsTracker); } \
1243
  NS_IMETHOD GetIsTrackerBlocked(bool *aIsTrackerBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsTrackerBlocked(aIsTrackerBlocked); } \
1244
  NS_IMETHOD SetIsTrackerBlocked(bool aIsTrackerBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsTrackerBlocked(aIsTrackerBlocked); } \
1245
  NS_IMETHOD GetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED * aTrackerBlockedReason) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTrackerBlockedReason(aTrackerBlockedReason); } \
1246
  NS_IMETHOD SetTrackerBlockedReason(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED aTrackerBlockedReason) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTrackerBlockedReason(aTrackerBlockedReason); } \
1247
  NS_IMETHOD GetDocumentHasUserInteracted(bool *aDocumentHasUserInteracted) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDocumentHasUserInteracted(aDocumentHasUserInteracted); } \
1248
  NS_IMETHOD SetDocumentHasUserInteracted(bool aDocumentHasUserInteracted) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDocumentHasUserInteracted(aDocumentHasUserInteracted); } 
1249
1250
1251
#endif /* __gen_nsILoadInfo_h__ */