nsIChildChannel.idl 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* This Source Code Form is subject to the terms of the Mozilla Public
  2. * License, v. 2.0. If a copy of the MPL was not distributed with this
  3. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  4. #include "nsISupports.idl"
  5. interface nsIStreamListener;
  6. /**
  7. * Implemented by content side of IPC protocols.
  8. */
  9. [scriptable, uuid(c45b92ae-4f07-41dd-b0ef-aa044eeabb1e)]
  10. interface nsIChildChannel : nsISupports
  11. {
  12. /**
  13. * Create the chrome side of the IPC protocol and join an existing 'real'
  14. * channel on the parent process. The id is provided by
  15. * nsIRedirectChannelRegistrar on the chrome process and pushed to the child
  16. * protocol as an argument to event starting a redirect.
  17. *
  18. * Primarilly used in HttpChannelChild::Redirect1Begin on a newly created
  19. * child channel, where the new channel is intended to be created on the
  20. * child process.
  21. */
  22. void connectParent(in uint32_t registrarId);
  23. /**
  24. * As AsyncOpen is called on the chrome process for redirect target channels,
  25. * we have to inform the child side of the protocol of that fact by a special
  26. * method.
  27. */
  28. void completeRedirectSetup(in nsIStreamListener aListener,
  29. in nsISupports aContext);
  30. };