зеркало из https://github.com/mozilla/gecko-dev.git
149 строки
5.1 KiB
C++
149 строки
5.1 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
|
|
|
|
/* 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 PRemoteOpenFile;
|
|
include protocol PDNSRequest;
|
|
include protocol PChannelDiverter;
|
|
include protocol PBlob; //FIXME: bug #792908
|
|
include protocol PFileDescriptorSet;
|
|
include protocol PDataChannel;
|
|
include protocol PTransportProvider;
|
|
|
|
include protocol PRtspController;
|
|
include protocol PRtspChannel;
|
|
include URIParams;
|
|
include InputStreamParams;
|
|
include NeckoChannelParams;
|
|
include PBrowserOrId;
|
|
|
|
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 {
|
|
|
|
//-------------------------------------------------------------------
|
|
prio(normal upto urgent) 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 PRemoteOpenFile;
|
|
manages PDataChannel;
|
|
manages PRtspController;
|
|
manages PRtspChannel;
|
|
manages PChannelDiverter;
|
|
manages PTransportProvider;
|
|
|
|
parent:
|
|
async __delete__();
|
|
|
|
prio(urgent) 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 PRemoteOpenFile(SerializedLoadContext loadContext,
|
|
URIParams fileuri,
|
|
OptionalURIParams appuri);
|
|
|
|
async SpeculativeConnect(URIParams uri, 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);
|
|
|
|
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);
|
|
// Notifies child that a given app is now offline (or online)
|
|
async AppOfflineStatus(uint32_t appId, bool offline);
|
|
|
|
/* Predictor Methods */
|
|
async PredOnPredictPrefetch(URIParams uri, uint32_t httpStatus);
|
|
async PredOnPredictPreconnect(URIParams uri);
|
|
async PredOnPredictDNS(URIParams uri);
|
|
|
|
async SpeculativeConnectRequest(nsCString notificationData);
|
|
|
|
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
|