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/. */
6 #include
"nsISupports.idl"
8 interface nsILoadGroup
;
11 * nsILoadGroupChild provides a hierarchy of load groups so that the
12 * root load group can be used to conceptually tie a series of loading
13 * operations into a logical whole while still leaving them separate
14 * for the purposes of cancellation and status events.
17 [builtinclass
, scriptable
, uuid(02efe8e2
-fbbc
-4718-a299
-b8a09c60bf6b
)]
18 interface nsILoadGroupChild
: nsISupports
21 * The parent of this load group. It is stored with
22 * a nsIWeakReference/nsWeakPtr so there is no requirement for the
23 * parentLoadGroup to out live the child, nor will the child keep a
24 * reference count on the parent.
26 attribute nsILoadGroup parentLoadGroup
;
29 * The nsILoadGroup associated with this nsILoadGroupChild
31 readonly attribute nsILoadGroup childLoadGroup
;
34 * The rootLoadGroup is the recursive parent of this
35 * load group where parent is defined as parentlLoadGroup if set
36 * or childLoadGroup.loadGroup as a backup. (i.e. parentLoadGroup takes
37 * precedence.) The nsILoadGroup child is the root if neither parent
38 * nor loadgroup attribute is specified.
40 readonly attribute nsILoadGroup rootLoadGroup
;