Bumping manifests a=b2g-bump
[gecko.git] / netwerk / ipc / PNecko.ipdl
blobcbbc150de1d7c2dde22ea4e8a9f7d9aadf3a97eb
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
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/. */
8 include protocol PContent;
9 include protocol PHttpChannel;
10 include protocol PCookieService;
11 include protocol PBrowser;
12 include protocol PWyciwygChannel;
13 include protocol PFTPChannel;
14 include protocol PWebSocket;
15 include protocol PTCPSocket;
16 include protocol PTCPServerSocket;
17 include protocol PUDPSocket;
18 include protocol PRemoteOpenFile;
19 include protocol PDNSRequest;
20 include protocol PChannelDiverter;
21 include protocol PBlob; //FIXME: bug #792908
22 include protocol PFileDescriptorSet;
24 include protocol PRtspController;
25 include protocol PRtspChannel;
26 include URIParams;
27 include InputStreamParams;
28 include NeckoChannelParams;
31 using class IPC::SerializedLoadContext from "SerializedLoadContext.h";
33 namespace mozilla {
34 namespace net {
36 union PBrowserOrId {
37   nullable PBrowser;
38   uint64_t;
41 //-------------------------------------------------------------------
42 sync protocol PNecko
44   manager PContent;
45   manages PHttpChannel;
46   manages PCookieService;
47   manages PWyciwygChannel;
48   manages PFTPChannel;
49   manages PWebSocket;
50   manages PTCPSocket;
51   manages PTCPServerSocket;
52   manages PUDPSocket;
53   manages PDNSRequest;
54   manages PRemoteOpenFile;
55   manages PRtspController;
56   manages PRtspChannel;
57   manages PChannelDiverter;
59 parent:
60   __delete__();
62   PCookieService();
63   PHttpChannel(PBrowserOrId browser,
64                SerializedLoadContext loadContext,
65                HttpChannelCreationArgs args);
66   PWyciwygChannel();
67   PFTPChannel(PBrowserOrId browser, SerializedLoadContext loadContext,
68               FTPChannelCreationArgs args);
70   PWebSocket(PBrowserOrId browser, SerializedLoadContext loadContext);
71   PTCPServerSocket(uint16_t localPort, uint16_t backlog, nsString binaryType);
72   PUDPSocket(nsCString filter);
74   PDNSRequest(nsCString hostName, uint32_t flags);
76   PRemoteOpenFile(SerializedLoadContext loadContext,
77                   URIParams fileuri,
78                   OptionalURIParams appuri);
80   HTMLDNSPrefetch(nsString hostname, uint16_t flags);
81   CancelHTMLDNSPrefetch(nsString hostname, uint16_t flags, nsresult reason);
82   PRtspController();
83   PRtspChannel(RtspChannelConnectArgs args);
84   PChannelDiverter(ChannelDiverterArgs channel);
86   /**
87    * These are called from the child with the results of the auth prompt.
88    * callbackId is the id that was passed in PBrowser::AsyncAuthPrompt,
89    * corresponding to an nsIAuthPromptCallback
90    */
91   OnAuthAvailable(uint64_t callbackId, nsString user,
92                   nsString password, nsString domain);
93   OnAuthCancelled(uint64_t callbackId, bool userCancel);
95 child:
96   /*
97    * Bring up the http auth prompt for a nested remote mozbrowser.
98    * NestedFrameId is the id corresponding to the PBrowser.  It is the same id
99    * that was passed to the PBrowserOrId param in to the PHttpChannel constructor
100    */
101   AsyncAuthPromptForNestedFrame(uint64_t nestedFrameId, nsCString uri,
102                                 nsString realm, uint64_t callbackId);
104 both:
105   // Actually we need PTCPSocket() for parent. But ipdl disallows us having different
106   // signatures on parent and child. So when constructing the parent side object, we just 
107   // leave host/port unused.
108   PTCPSocket(nsString host, uint16_t port);
112 } // namespace net
113 } // namespace mozilla