Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
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 file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 */
7 interface MozBoxObject;
8 interface MozControllers;
9 interface MozFrameLoader;
10 interface MozRDFCompositeDataSource;
11 interface MozRDFResource;
12 interface MozXULTemplateBuilder;
14 [Func="IsChromeOrXBL"]
15 interface XULElement : Element {
16 [SetterThrows]
17 attribute DOMString className;
19 // Layout properties
20 [SetterThrows]
21 attribute DOMString align;
22 [SetterThrows]
23 attribute DOMString dir;
24 [SetterThrows]
25 attribute DOMString flex;
26 [SetterThrows]
27 attribute DOMString flexGroup;
28 [SetterThrows]
29 attribute DOMString ordinal;
30 [SetterThrows]
31 attribute DOMString orient;
32 [SetterThrows]
33 attribute DOMString pack;
35 // Properties for hiding elements.
36 attribute boolean hidden;
37 attribute boolean collapsed;
39 // Property for hooking up to broadcasters
40 [SetterThrows]
41 attribute DOMString observes;
43 // Properties for hooking up to popups
44 [SetterThrows]
45 attribute DOMString menu;
46 [SetterThrows]
47 attribute DOMString contextMenu;
48 [SetterThrows]
49 attribute DOMString tooltip;
51 // Width/height properties
52 [SetterThrows]
53 attribute DOMString width;
54 [SetterThrows]
55 attribute DOMString height;
56 [SetterThrows]
57 attribute DOMString minWidth;
58 [SetterThrows]
59 attribute DOMString minHeight;
60 [SetterThrows]
61 attribute DOMString maxWidth;
62 [SetterThrows]
63 attribute DOMString maxHeight;
65 // Persistence
66 [SetterThrows]
67 attribute DOMString persist;
69 // Position properties for
70 // * popups - these are screen coordinates
71 // * other elements - these are client coordinates relative to parent stack.
72 [SetterThrows]
73 attribute DOMString left;
74 [SetterThrows]
75 attribute DOMString top;
77 // XUL Template Builder
78 [SetterThrows]
79 attribute DOMString datasources;
80 [SetterThrows]
81 attribute DOMString ref;
83 // Tooltip and status info
84 [SetterThrows]
85 attribute DOMString tooltipText;
86 [SetterThrows]
87 attribute DOMString statusText;
89 attribute boolean allowEvents;
91 readonly attribute MozRDFCompositeDataSource? database;
92 readonly attribute MozXULTemplateBuilder? builder;
93 [Throws]
94 readonly attribute MozRDFResource? resource;
95 [Throws]
96 readonly attribute MozControllers controllers;
97 [Throws]
98 readonly attribute MozBoxObject? boxObject;
100 [Throws]
101 void focus();
102 [Throws]
103 void blur();
104 [Throws]
105 void click();
106 void doCommand();
108 // XXXbz this isn't really a nodelist! See bug 818548
109 NodeList getElementsByAttribute(DOMString name,
110 DOMString value);
111 // XXXbz this isn't really a nodelist! See bug 818548
112 [Throws]
113 NodeList getElementsByAttributeNS(DOMString namespaceURI,
114 DOMString name,
115 DOMString value);
116 [Constant]
117 readonly attribute CSSStyleDeclaration style;
118 };
120 // And the things from nsIFrameLoaderOwner
121 [NoInterfaceObject]
122 interface MozFrameLoaderOwner {
123 [ChromeOnly]
124 readonly attribute MozFrameLoader? frameLoader;
126 [ChromeOnly, Throws]
127 void swapFrameLoaders(XULElement aOtherOwner);
128 };
130 XULElement implements GlobalEventHandlers;
131 XULElement implements TouchEventHandlers;
132 XULElement implements MozFrameLoaderOwner;
133 XULElement implements OnErrorEventHandlerForNodes;