123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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 protocol PContent;
- include protocol PHttpChannel;
- include protocol PCookieService;
- include protocol PBrowser;
- include protocol PWyciwygChannel;
- include protocol PFTPChannel;
- include protocol PWebSocket;
- include protocol PWebSocketEventListener;
- include protocol PTCPSocket;
- include protocol PTCPServerSocket;
- include protocol PUDPSocket;
- include protocol PDNSRequest;
- include protocol PChannelDiverter;
- include protocol PBlob; //FIXME: bug #792908
- include protocol PFileDescriptorSet;
- include protocol PDataChannel;
- include protocol PTransportProvider;
- include protocol PSendStream;
- include protocol PRtspController;
- include protocol PRtspChannel;
- include URIParams;
- include InputStreamParams;
- include NeckoChannelParams;
- include PBrowserOrId;
- include protocol PAltDataOutputStream;
- using class IPC::SerializedLoadContext from "SerializedLoadContext.h";
- using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h";
- using class IPC::Principal from "mozilla/dom/PermissionMessageUtils.h";
- namespace mozilla {
- namespace net {
- //-------------------------------------------------------------------
- nested(upto inside_cpow) sync protocol PNecko
- {
- manager PContent;
- manages PHttpChannel;
- manages PCookieService;
- manages PWyciwygChannel;
- manages PFTPChannel;
- manages PWebSocket;
- manages PWebSocketEventListener;
- manages PTCPSocket;
- manages PTCPServerSocket;
- manages PUDPSocket;
- manages PDNSRequest;
- manages PDataChannel;
- manages PRtspController;
- manages PRtspChannel;
- manages PChannelDiverter;
- manages PTransportProvider;
- manages PAltDataOutputStream;
- parent:
- async __delete__();
- nested(inside_cpow) async PCookieService();
- async PHttpChannel(PBrowserOrId browser,
- SerializedLoadContext loadContext,
- HttpChannelCreationArgs args);
- async PWyciwygChannel();
- async PFTPChannel(PBrowserOrId browser, SerializedLoadContext loadContext,
- FTPChannelCreationArgs args);
- async PWebSocket(PBrowserOrId browser, SerializedLoadContext loadContext,
- uint32_t aSerialID);
- async PTCPServerSocket(uint16_t localPort, uint16_t backlog, bool useArrayBuffers);
- async PUDPSocket(Principal principal, nsCString filter);
- async PDNSRequest(nsCString hostName, uint32_t flags, nsCString networkInterface);
- async PWebSocketEventListener(uint64_t aInnerWindowID);
- /* Predictor Methods */
- async PredPredict(OptionalURIParams targetURI, OptionalURIParams sourceURI,
- uint32_t reason, SerializedLoadContext loadContext,
- bool hasVerifier);
- async PredLearn(URIParams targetURI, OptionalURIParams sourceURI,
- uint32_t reason, SerializedLoadContext loadContext);
- async PredReset();
- async SpeculativeConnect(URIParams uri, Principal principal, bool anonymous);
- async HTMLDNSPrefetch(nsString hostname, uint16_t flags);
- async CancelHTMLDNSPrefetch(nsString hostname, uint16_t flags, nsresult reason);
- /**
- * channelId is used to establish a connection between redirect channels in
- * the parent and the child when we're redirecting to a data: URI.
- */
- async PDataChannel(uint32_t channelId);
- async PRtspController();
- async PRtspChannel(RtspChannelConnectArgs args);
- async PChannelDiverter(ChannelDiverterArgs channel);
- /**
- * These are called from the child with the results of the auth prompt.
- * callbackId is the id that was passed in PBrowser::AsyncAuthPrompt,
- * corresponding to an nsIAuthPromptCallback
- */
- async OnAuthAvailable(uint64_t callbackId, nsString user,
- nsString password, nsString domain);
- async OnAuthCancelled(uint64_t callbackId, bool userCancel);
- async RemoveRequestContext(nsCString rcid);
- async PAltDataOutputStream(nsCString type, PHttpChannel channel);
- child:
- /*
- * Bring up the http auth prompt for a nested remote mozbrowser.
- * NestedFrameId is the id corresponding to the PBrowser. It is the same id
- * that was passed to the PBrowserOrId param in to the PHttpChannel constructor
- */
- async AsyncAuthPromptForNestedFrame(TabId nestedFrameId, nsCString uri,
- nsString realm, uint64_t callbackId);
- /* Predictor Methods */
- async PredOnPredictPrefetch(URIParams uri, uint32_t httpStatus);
- async PredOnPredictPreconnect(URIParams uri);
- async PredOnPredictDNS(URIParams uri);
- async SpeculativeConnectRequest();
- async PTransportProvider();
- both:
- // Actually we need PTCPSocket() for parent. But ipdl disallows us having different
- // signatures on parent and child. So when constructing the parent side object, we just
- // leave host/port unused.
- async PTCPSocket(nsString host, uint16_t port);
- };
- } // namespace net
- } // namespace mozilla
|