Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/net/NeckoChild.h
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 sw=2 ts=8 et tw=80 : */
3
4
/* This Source Code Form is subject to the terms of the Mozilla Public
5
 * License, v. 2.0. If a copy of the MPL was not distributed with this
6
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
8
#ifndef mozilla_net_NeckoChild_h
9
#define mozilla_net_NeckoChild_h
10
11
#include "mozilla/net/PNeckoChild.h"
12
#include "mozilla/net/NeckoCommon.h"
13
14
namespace mozilla {
15
namespace net {
16
17
// Header file contents
18
class NeckoChild :
19
  public PNeckoChild
20
{
21
public:
22
0
  NeckoChild() = default;
23
  virtual ~NeckoChild();
24
25
  static void InitNeckoChild();
26
27
protected:
28
  virtual PHttpChannelChild*
29
    AllocPHttpChannelChild(const PBrowserOrId&, const SerializedLoadContext&,
30
                           const HttpChannelCreationArgs& aOpenArgs) override;
31
  virtual bool DeallocPHttpChannelChild(PHttpChannelChild*) override;
32
33
  virtual PStunAddrsRequestChild* AllocPStunAddrsRequestChild() override;
34
  virtual bool
35
    DeallocPStunAddrsRequestChild(PStunAddrsRequestChild* aActor) override;
36
37
  virtual PAltDataOutputStreamChild* AllocPAltDataOutputStreamChild(const nsCString& type, const int64_t& predictedSize, PHttpChannelChild* channel) override;
38
  virtual bool DeallocPAltDataOutputStreamChild(PAltDataOutputStreamChild* aActor) override;
39
40
  virtual PCookieServiceChild* AllocPCookieServiceChild() override;
41
  virtual bool DeallocPCookieServiceChild(PCookieServiceChild*) override;
42
  virtual PWyciwygChannelChild* AllocPWyciwygChannelChild() override;
43
  virtual bool DeallocPWyciwygChannelChild(PWyciwygChannelChild*) override;
44
  virtual PFTPChannelChild*
45
    AllocPFTPChannelChild(const PBrowserOrId& aBrowser,
46
                          const SerializedLoadContext& aSerialized,
47
                          const FTPChannelCreationArgs& aOpenArgs) override;
48
  virtual bool DeallocPFTPChannelChild(PFTPChannelChild*) override;
49
  virtual PWebSocketChild*
50
    AllocPWebSocketChild(const PBrowserOrId&,
51
                         const SerializedLoadContext&,
52
                         const uint32_t&) override;
53
  virtual bool DeallocPWebSocketChild(PWebSocketChild*) override;
54
  virtual PTCPSocketChild* AllocPTCPSocketChild(const nsString& host,
55
                                                const uint16_t& port) override;
56
  virtual bool DeallocPTCPSocketChild(PTCPSocketChild*) override;
57
  virtual PTCPServerSocketChild*
58
    AllocPTCPServerSocketChild(const uint16_t& aLocalPort,
59
                               const uint16_t& aBacklog,
60
                               const bool& aUseArrayBuffers) override;
61
  virtual bool DeallocPTCPServerSocketChild(PTCPServerSocketChild*) override;
62
  virtual PUDPSocketChild* AllocPUDPSocketChild(const Principal& aPrincipal,
63
                                                const nsCString& aFilter) override;
64
  virtual bool DeallocPUDPSocketChild(PUDPSocketChild*) override;
65
  virtual PDNSRequestChild* AllocPDNSRequestChild(const nsCString& aHost,
66
                                                  const OriginAttributes& aOriginAttributes,
67
                                                  const uint32_t& aFlags) override;
68
  virtual bool DeallocPDNSRequestChild(PDNSRequestChild*) override;
69
  virtual PDataChannelChild* AllocPDataChannelChild(const uint32_t& channelId) override;
70
  virtual bool DeallocPDataChannelChild(PDataChannelChild* child) override;
71
  virtual PFileChannelChild* AllocPFileChannelChild(const uint32_t& channelId) override;
72
  virtual bool DeallocPFileChannelChild(PFileChannelChild* child) override;
73
  virtual PSimpleChannelChild* AllocPSimpleChannelChild(const uint32_t& channelId) override;
74
  virtual bool DeallocPSimpleChannelChild(PSimpleChannelChild* child) override;
75
  virtual PChannelDiverterChild*
76
  AllocPChannelDiverterChild(const ChannelDiverterArgs& channel) override;
77
  virtual bool
78
  DeallocPChannelDiverterChild(PChannelDiverterChild* actor) override;
79
  virtual PTransportProviderChild*
80
  AllocPTransportProviderChild() override;
81
  virtual bool
82
  DeallocPTransportProviderChild(PTransportProviderChild* aActor) override;
83
  virtual mozilla::ipc::IPCResult RecvAsyncAuthPromptForNestedFrame(const TabId& aNestedFrameId,
84
                                                                    const nsCString& aUri,
85
                                                                    const nsString& aRealm,
86
                                                                    const uint64_t& aCallbackId) override;
87
  virtual PWebSocketEventListenerChild*
88
    AllocPWebSocketEventListenerChild(const uint64_t& aInnerWindowID) override;
89
  virtual bool DeallocPWebSocketEventListenerChild(PWebSocketEventListenerChild*) override;
90
91
  /* Predictor Messsages */
92
  virtual mozilla::ipc::IPCResult RecvPredOnPredictPrefetch(const URIParams& aURI,
93
                                                            const uint32_t& aHttpStatus) override;
94
  virtual mozilla::ipc::IPCResult RecvPredOnPredictPreconnect(const URIParams& aURI) override;
95
  virtual mozilla::ipc::IPCResult RecvPredOnPredictDNS(const URIParams& aURI) override;
96
97
  virtual mozilla::ipc::IPCResult RecvSpeculativeConnectRequest() override;
98
  virtual mozilla::ipc::IPCResult RecvNetworkChangeNotification(nsCString const& type) override;
99
100
  virtual mozilla::ipc::IPCResult RecvCrossProcessRedirect(
101
                                    const uint32_t& aRegistrarId,
102
                                    nsIURI* aURI,
103
                                    const uint32_t& aNewLoadFlags,
104
                                    const OptionalLoadInfoArgs& aLoadInfoForwarder,
105
                                    const uint64_t& aChannelId,
106
                                    nsIURI* aOriginalURI,
107
                                    const uint64_t& aIdentifier) override;
108
};
109
110
/**
111
 * Reference to the PNecko Child protocol.
112
 * Null if this is not a content process.
113
 */
114
extern PNeckoChild *gNeckoChild;
115
116
} // namespace net
117
} // namespace mozilla
118
119
#endif // mozilla_net_NeckoChild_h