Source code

Revision control

Other Tools

/* 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 "nsISupports.idl"
interface nsIStreamListener;
/**
* Implemented by content side of IPC protocols.
*/
[scriptable, uuid(c45b92ae-4f07-41dd-b0ef-aa044eeabb1e)]
interface nsIChildChannel : nsISupports
{
/**
* Create the chrome side of the IPC protocol and join an existing 'real'
* channel on the parent process. The id is provided by
* nsIRedirectChannelRegistrar on the chrome process and pushed to the child
* protocol as an argument to event starting a redirect.
*
* Primarilly used in HttpChannelChild::Redirect1Begin on a newly created
* child channel, where the new channel is intended to be created on the
* child process.
*/
void connectParent(in uint32_t registrarId);
/**
* As AsyncOpen is called on the chrome process for redirect target channels,
* we have to inform the child side of the protocol of that fact by a special
* method.
*/
void completeRedirectSetup(in nsIStreamListener aListener);
};