nsILoadGroupChild.idl 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. #include "nsISupports.idl"
  6. interface nsILoadGroup;
  7. /**
  8. * nsILoadGroupChild provides a hierarchy of load groups so that the
  9. * root load group can be used to conceptually tie a series of loading
  10. * operations into a logical whole while still leaving them separate
  11. * for the purposes of cancellation and status events.
  12. */
  13. [scriptable, uuid(02efe8e2-fbbc-4718-a299-b8a09c60bf6b)]
  14. interface nsILoadGroupChild : nsISupports
  15. {
  16. /**
  17. * The parent of this load group. It is stored with
  18. * a nsIWeakReference/nsWeakPtr so there is no requirement for the
  19. * parentLoadGroup to out live the child, nor will the child keep a
  20. * reference count on the parent.
  21. */
  22. attribute nsILoadGroup parentLoadGroup;
  23. /**
  24. * The nsILoadGroup associated with this nsILoadGroupChild
  25. */
  26. readonly attribute nsILoadGroup childLoadGroup;
  27. /**
  28. * The rootLoadGroup is the recursive parent of this
  29. * load group where parent is defined as parentlLoadGroup if set
  30. * or childLoadGroup.loadGroup as a backup. (i.e. parentLoadGroup takes
  31. * precedence.) The nsILoadGroup child is the root if neither parent
  32. * nor loadgroup attribute is specified.
  33. */
  34. readonly attribute nsILoadGroup rootLoadGroup;
  35. };