/* 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 id); /** * 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); };