|
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
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 "domstubs.idl" |
|
7 #include "nsIDOMDocument.idl" |
|
8 |
|
9 interface nsIDOMXULCommandDispatcher; |
|
10 interface nsIObserver; |
|
11 interface nsIBoxObject; |
|
12 |
|
13 [scriptable, uuid(efdb94fb-642f-4a79-ae20-9a5f7cb7f736)] |
|
14 interface nsIDOMXULDocument : nsIDOMDocument |
|
15 { |
|
16 attribute nsIDOMNode popupNode; |
|
17 |
|
18 /** |
|
19 * These attributes correspond to trustedGetPopupNode().rangeOffset and |
|
20 * rangeParent. They will help you find where in the DOM the popup is |
|
21 * happening. Can be accessed from chrome only, and only during a popup |
|
22 * event. Accessing any other time will be an error. |
|
23 */ |
|
24 readonly attribute nsIDOMNode popupRangeParent; |
|
25 readonly attribute long popupRangeOffset; |
|
26 |
|
27 attribute nsIDOMNode tooltipNode; |
|
28 |
|
29 readonly attribute nsIDOMXULCommandDispatcher commandDispatcher; |
|
30 |
|
31 readonly attribute long width; |
|
32 readonly attribute long height; |
|
33 |
|
34 nsIDOMNodeList getElementsByAttribute(in DOMString name, |
|
35 in DOMString value); |
|
36 |
|
37 nsIDOMNodeList getElementsByAttributeNS(in DOMString namespaceURI, |
|
38 in DOMString name, |
|
39 in DOMString value); |
|
40 |
|
41 void addBroadcastListenerFor(in nsIDOMElement broadcaster, |
|
42 in nsIDOMElement observer, |
|
43 in DOMString attr); |
|
44 |
|
45 void removeBroadcastListenerFor(in nsIDOMElement broadcaster, |
|
46 in nsIDOMElement observer, |
|
47 in DOMString attr); |
|
48 |
|
49 void persist(in DOMString id, in DOMString attr); |
|
50 |
|
51 nsIBoxObject getBoxObjectFor(in nsIDOMElement elt); |
|
52 |
|
53 /** |
|
54 * Loads a XUL overlay and merges it with the current document, notifying an |
|
55 * observer when the merge is complete. |
|
56 * @param url |
|
57 * The URL of the overlay to load and merge |
|
58 * @param observer |
|
59 * An object implementing nsIObserver that will be notified with a |
|
60 * message of topic "xul-overlay-merged" when the merge is complete. |
|
61 * The subject parameter of |observe| will QI to a nsIURI - the URI |
|
62 * of the merged overlay. This parameter is optional and may be null. |
|
63 * |
|
64 * NOTICE: In the 2.0 timeframe this API will change such that the |
|
65 * implementation will fire a DOMXULOverlayMerged event upon merge |
|
66 * completion rather than notifying an observer. Do not rely on this |
|
67 * API's behavior _not_ to change because it will! |
|
68 * - Ben Goodger (8/23/2005) |
|
69 */ |
|
70 void loadOverlay(in DOMString url, in nsIObserver aObserver); |
|
71 }; |