Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/netwerk/protocol/http/NullHttpChannel.h
Line
Count
Source (jump to first uncovered line)
1
/* This Source Code Form is subject to the terms of the Mozilla Public
2
 * License, v. 2.0. If a copy of the MPL was not distributed with this
3
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5
#ifndef mozilla_net_NullHttpChannel_h
6
#define mozilla_net_NullHttpChannel_h
7
8
#include "nsINullChannel.h"
9
#include "nsIHttpChannel.h"
10
#include "nsITimedChannel.h"
11
#include "nsIURI.h"
12
#include "nsCOMPtr.h"
13
#include "mozilla/TimeStamp.h"
14
#include "nsString.h"
15
#include "prtime.h"
16
17
namespace mozilla {
18
namespace net {
19
20
class nsProxyInfo;
21
22
class NullHttpChannel final
23
  : public nsINullChannel
24
  , public nsIHttpChannel
25
  , public nsITimedChannel
26
{
27
  NS_DECL_THREADSAFE_ISUPPORTS
28
  NS_DECL_NSINULLCHANNEL
29
  NS_DECL_NSIHTTPCHANNEL
30
  NS_DECL_NSITIMEDCHANNEL
31
  NS_DECL_NSIREQUEST
32
  NS_DECL_NSICHANNEL
33
34
  NullHttpChannel();
35
36
  // Copies the URI, Principal and Timing-Allow-Origin headers from the
37
  // passed channel to this object, to be used for resource timing checks
38
  explicit NullHttpChannel(nsIHttpChannel * chan);
39
40
  // Same signature as nsHttpChannel::Init
41
  MOZ_MUST_USE nsresult Init(nsIURI *aURI, uint32_t aCaps,
42
                             nsProxyInfo *aProxyInfo,
43
                             uint32_t aProxyResolveFlags, nsIURI *aProxyURI);
44
private:
45
0
  ~NullHttpChannel() = default;
46
47
protected:
48
  nsCOMPtr<nsIURI> mURI;
49
  nsCOMPtr<nsIURI> mOriginalURI;
50
51
  nsString  mInitiatorType;
52
  PRTime    mChannelCreationTime;
53
  TimeStamp mAsyncOpenTime;
54
  TimeStamp mChannelCreationTimestamp;
55
  nsCOMPtr<nsIPrincipal> mResourcePrincipal;
56
  nsCString mTimingAllowOriginHeader;
57
  bool      mAllRedirectsSameOrigin;
58
  bool      mAllRedirectsPassTimingAllowCheck;
59
};
60
61
} // namespace net
62
} // namespace mozilla
63
64
65
66
#endif // mozilla_net_NullHttpChannel_h