|
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 |
|
6 #include "nsISupports.idl" |
|
7 |
|
8 interface nsILoadGroup; |
|
9 |
|
10 /** |
|
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. |
|
15 */ |
|
16 |
|
17 [scriptable, uuid(02efe8e2-fbbc-4718-a299-b8a09c60bf6b)] |
|
18 interface nsILoadGroupChild : nsISupports |
|
19 { |
|
20 /** |
|
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. |
|
25 */ |
|
26 attribute nsILoadGroup parentLoadGroup; |
|
27 |
|
28 /** |
|
29 * The nsILoadGroup associated with this nsILoadGroupChild |
|
30 */ |
|
31 readonly attribute nsILoadGroup childLoadGroup; |
|
32 |
|
33 /** |
|
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. |
|
39 */ |
|
40 readonly attribute nsILoadGroup rootLoadGroup; |
|
41 }; |
|
42 |