2012-05-21 15:12:37 +04:00
|
|
|
/* 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/. */
|
2010-11-24 01:56:06 +03:00
|
|
|
|
|
|
|
#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.
|
|
|
|
*/
|
2016-06-01 22:29:21 +03:00
|
|
|
void connectParent(in uint32_t registrarId);
|
2010-11-24 01:56:06 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 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,
|
|
|
|
in nsISupports aContext);
|
|
|
|
};
|