summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http/HttpChannelParams.ipdlh
blob: f7601a7785a86916e47a23d4a7d991e1e8bba049 (plain)
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
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set sw=2 ts=8 et tw=80 ft=cpp : */

/* 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 IPCServiceWorkerDescriptor;
include NeckoChannelParams;
include IPCStream;

include "mozilla/dom/ReferrerInfoUtils.h";
include "mozilla/ipc/TransportSecurityInfoUtils.h";
include "mozilla/net/NeckoMessageUtils.h";

using class mozilla::net::nsHttpHeaderArray from "nsHttpHeaderArray.h";
using mozilla::net::NetAddr from "mozilla/net/DNS.h";
using nsILoadInfo::CrossOriginOpenerPolicy from "nsILoadInfo.h";
[RefCounted] using class nsIReferrerInfo from "nsIReferrerInfo.h";
[RefCounted] using class nsITransportSecurityInfo from "nsITransportSecurityInfo.h";
using nsIRequest::TRRMode from "nsIRequest.h";
using mozilla::net::TRRSkippedReason from "nsITRRSkipReason.h";

namespace mozilla {
namespace net {

struct HttpChannelOnStartRequestArgs
{
  nullable nsITransportSecurityInfo securityInfo;
  nullable nsIReferrerInfo overrideReferrerInfo;
  uint64_t cacheEntryId;
  int64_t altDataLength;
  nsCString altDataType;
  nsCString cookie;
  NetAddr selfAddr;
  NetAddr peerAddr;
  ResourceTimingStructArgs timing;
  ParentLoadInfoForwarderArgs loadInfoForwarder;
  nsresult channelStatus;
  TRRMode effectiveTRRMode;
  TRRSkippedReason trrSkipReason;
  uint32_t cacheFetchCount;
  uint32_t cacheExpirationTime;
  uint32_t cacheKey;
  uint32_t? multiPartID;
  bool isFromCache;
  bool isRacing;
  bool cacheEntryAvailable;
  bool deliveringAltData;
  bool applyConversion;
  bool isResolvedByTRR;
  bool allRedirectsSameOrigin;
  bool isFirstPartOfMultiPart;
  bool isLastPartOfMultiPart;
  CrossOriginOpenerPolicy openerPolicy;
  bool shouldWaitForOnStartRequestSent;
  bool dataFromSocketProcess;
  bool hasHTTPSRR;
  bool isProxyUsed;
  uint8_t redirectCount;
  nsCString protocolVersion;
};

struct HttpChannelAltDataStream
{
  IPCStream? altDataInputStream;
};

} // namespace ipc
} // namespace mozilla