Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/docshell/base/nsDocShellLoadInfo.cpp
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#include "nsDocShellLoadInfo.h"
8
#include "nsISHEntry.h"
9
#include "nsIInputStream.h"
10
#include "nsIURI.h"
11
#include "nsIDocShell.h"
12
#include "mozilla/net/ReferrerPolicy.h"
13
#include "mozilla/Unused.h"
14
#include "mozilla/Maybe.h"
15
16
namespace mozilla {
17
18
19
} // mozilla
20
21
nsDocShellLoadInfo::nsDocShellLoadInfo()
22
  : mResultPrincipalURIIsSome(false)
23
  , mKeepResultPrincipalURIIfSet(false)
24
  , mLoadReplace(false)
25
  , mInheritPrincipal(false)
26
  , mPrincipalIsExplicit(false)
27
  , mForceAllowDataURI(false)
28
  , mOriginalFrameSrc(false)
29
  , mSendReferrer(true)
30
  , mReferrerPolicy(mozilla::net::RP_Unset)
31
  , mLoadType(LOAD_NORMAL)
32
  , mIsSrcdocLoad(false)
33
0
{
34
0
}
35
36
nsDocShellLoadInfo::~nsDocShellLoadInfo()
37
0
{
38
0
}
39
40
nsIURI*
41
nsDocShellLoadInfo::Referrer() const
42
0
{
43
0
  return mReferrer;
44
0
}
45
46
void
47
nsDocShellLoadInfo::SetReferrer(nsIURI* aReferrer)
48
0
{
49
0
  mReferrer = aReferrer;
50
0
}
51
52
nsIURI*
53
nsDocShellLoadInfo::OriginalURI() const
54
0
{
55
0
  return mOriginalURI;
56
0
}
57
58
void
59
nsDocShellLoadInfo::SetOriginalURI(nsIURI* aOriginalURI)
60
0
{
61
0
  mOriginalURI = aOriginalURI;
62
0
}
63
64
nsIURI*
65
nsDocShellLoadInfo::ResultPrincipalURI() const
66
0
{
67
0
  return mResultPrincipalURI;
68
0
}
69
70
void
71
nsDocShellLoadInfo::SetResultPrincipalURI(nsIURI* aResultPrincipalURI)
72
0
{
73
0
  mResultPrincipalURI = aResultPrincipalURI;
74
0
}
75
76
bool
77
nsDocShellLoadInfo::ResultPrincipalURIIsSome() const
78
0
{
79
0
  return mResultPrincipalURIIsSome;
80
0
}
81
82
void
83
nsDocShellLoadInfo::SetResultPrincipalURIIsSome(bool aIsSome)
84
0
{
85
0
  mResultPrincipalURIIsSome = aIsSome;
86
0
}
87
88
bool
89
nsDocShellLoadInfo::KeepResultPrincipalURIIfSet() const
90
0
{
91
0
  return mKeepResultPrincipalURIIfSet;
92
0
}
93
94
void
95
nsDocShellLoadInfo::SetKeepResultPrincipalURIIfSet(bool aKeep)
96
0
{
97
0
  mKeepResultPrincipalURIIfSet = aKeep;
98
0
}
99
100
bool
101
nsDocShellLoadInfo::LoadReplace() const
102
0
{
103
0
  return mLoadReplace;
104
0
}
105
106
void
107
nsDocShellLoadInfo::SetLoadReplace(bool aLoadReplace)
108
0
{
109
0
  mLoadReplace = aLoadReplace;
110
0
}
111
112
nsIPrincipal*
113
nsDocShellLoadInfo::TriggeringPrincipal() const
114
0
{
115
0
  return mTriggeringPrincipal;
116
0
}
117
118
void
119
nsDocShellLoadInfo::SetTriggeringPrincipal(nsIPrincipal* aTriggeringPrincipal)
120
0
{
121
0
  mTriggeringPrincipal = aTriggeringPrincipal;
122
0
}
123
124
bool
125
nsDocShellLoadInfo::InheritPrincipal() const
126
0
{
127
0
  return mInheritPrincipal;
128
0
}
129
130
void
131
nsDocShellLoadInfo::SetInheritPrincipal(bool aInheritPrincipal)
132
0
{
133
0
  mInheritPrincipal = aInheritPrincipal;
134
0
}
135
136
bool
137
nsDocShellLoadInfo::PrincipalIsExplicit() const
138
0
{
139
0
  return mPrincipalIsExplicit;
140
0
}
141
142
void
143
nsDocShellLoadInfo::SetPrincipalIsExplicit(bool aPrincipalIsExplicit)
144
0
{
145
0
  mPrincipalIsExplicit = aPrincipalIsExplicit;
146
0
}
147
148
bool
149
nsDocShellLoadInfo::ForceAllowDataURI() const
150
0
{
151
0
  return mForceAllowDataURI;
152
0
}
153
154
void
155
nsDocShellLoadInfo::SetForceAllowDataURI(bool aForceAllowDataURI)
156
0
{
157
0
  mForceAllowDataURI = aForceAllowDataURI;
158
0
}
159
160
bool
161
nsDocShellLoadInfo::OriginalFrameSrc() const
162
0
{
163
0
  return mOriginalFrameSrc;
164
0
}
165
166
void
167
nsDocShellLoadInfo::SetOriginalFrameSrc(bool aOriginalFrameSrc)
168
0
{
169
0
  mOriginalFrameSrc = aOriginalFrameSrc;
170
0
}
171
172
uint32_t
173
nsDocShellLoadInfo::LoadType() const
174
0
{
175
0
  return mLoadType;
176
0
}
177
178
void
179
nsDocShellLoadInfo::SetLoadType(uint32_t aLoadType)
180
0
{
181
0
  mLoadType = aLoadType;
182
0
}
183
184
nsISHEntry*
185
nsDocShellLoadInfo::SHEntry() const
186
0
{
187
0
  return mSHEntry;
188
0
}
189
190
void
191
nsDocShellLoadInfo::SetSHEntry(nsISHEntry* aSHEntry)
192
0
{
193
0
  mSHEntry = aSHEntry;
194
0
}
195
196
void
197
nsDocShellLoadInfo::GetTarget(nsAString& aTarget) const
198
0
{
199
0
  aTarget = mTarget;
200
0
}
201
202
void
203
nsDocShellLoadInfo::SetTarget(const nsAString& aTarget)
204
0
{
205
0
  mTarget = aTarget;
206
0
}
207
208
nsIInputStream*
209
nsDocShellLoadInfo::PostDataStream() const
210
0
{
211
0
  return mPostDataStream;
212
0
}
213
214
void
215
nsDocShellLoadInfo::SetPostDataStream(nsIInputStream* aStream)
216
0
{
217
0
  mPostDataStream = aStream;
218
0
}
219
220
nsIInputStream*
221
nsDocShellLoadInfo::HeadersStream() const
222
0
{
223
0
  return mHeadersStream;
224
0
}
225
226
void
227
nsDocShellLoadInfo::SetHeadersStream(nsIInputStream* aHeadersStream)
228
0
{
229
0
  mHeadersStream = aHeadersStream;
230
0
}
231
232
bool
233
nsDocShellLoadInfo::SendReferrer() const
234
0
{
235
0
  return mSendReferrer;
236
0
}
237
238
void
239
nsDocShellLoadInfo::SetSendReferrer(bool aSendReferrer)
240
0
{
241
0
  mSendReferrer = aSendReferrer;
242
0
}
243
244
uint32_t
245
nsDocShellLoadInfo::ReferrerPolicy() const
246
0
{
247
0
  return mReferrerPolicy;
248
0
}
249
250
void
251
nsDocShellLoadInfo::SetReferrerPolicy(mozilla::net::ReferrerPolicy aReferrerPolicy)
252
0
{
253
0
  mReferrerPolicy = aReferrerPolicy;
254
0
}
255
256
bool
257
nsDocShellLoadInfo::IsSrcdocLoad() const
258
0
{
259
0
  return mIsSrcdocLoad;
260
0
}
261
262
void
263
nsDocShellLoadInfo::GetSrcdocData(nsAString& aSrcdocData) const
264
0
{
265
0
  aSrcdocData = mSrcdocData;
266
0
}
267
268
void
269
nsDocShellLoadInfo::SetSrcdocData(const nsAString& aSrcdocData)
270
0
{
271
0
  mSrcdocData = aSrcdocData;
272
0
  mIsSrcdocLoad = true;
273
0
}
274
275
nsIDocShell*
276
nsDocShellLoadInfo::SourceDocShell() const
277
0
{
278
0
  return mSourceDocShell;
279
0
}
280
281
void
282
nsDocShellLoadInfo::SetSourceDocShell(nsIDocShell* aSourceDocShell)
283
0
{
284
0
  mSourceDocShell = aSourceDocShell;
285
0
}
286
287
nsIURI*
288
nsDocShellLoadInfo::BaseURI() const
289
0
{
290
0
  return mBaseURI;
291
0
}
292
293
void
294
nsDocShellLoadInfo::SetBaseURI(nsIURI* aBaseURI)
295
0
{
296
0
  mBaseURI = aBaseURI;
297
0
}
298
299
void
300
nsDocShellLoadInfo::GetMaybeResultPrincipalURI(mozilla::Maybe<nsCOMPtr<nsIURI>>& aRPURI) const
301
0
{
302
0
  bool isSome = ResultPrincipalURIIsSome();
303
0
  aRPURI.reset();
304
0
305
0
  if (!isSome) {
306
0
    return;
307
0
  }
308
0
309
0
  nsCOMPtr<nsIURI> uri = ResultPrincipalURI();
310
0
  aRPURI.emplace(std::move(uri));
311
0
}
312
313
void
314
nsDocShellLoadInfo::SetMaybeResultPrincipalURI(mozilla::Maybe<nsCOMPtr<nsIURI>> const& aRPURI)
315
0
{
316
0
  SetResultPrincipalURI(aRPURI.refOr(nullptr));
317
0
  SetResultPrincipalURIIsSome(aRPURI.isSome());
318
0
}