diff options
Diffstat (limited to 'dom/webidl/XULElement.webidl')
-rw-r--r-- | dom/webidl/XULElement.webidl | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/dom/webidl/XULElement.webidl b/dom/webidl/XULElement.webidl new file mode 100644 index 0000000000..28c79b9a7b --- /dev/null +++ b/dom/webidl/XULElement.webidl @@ -0,0 +1,141 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +interface MozControllers; +interface MozFrameLoader; +interface MozRDFCompositeDataSource; +interface MozRDFResource; +interface MozXULTemplateBuilder; + +[Func="IsChromeOrXBL"] +interface XULElement : Element { + [SetterThrows] + attribute DOMString className; + + // Layout properties + [SetterThrows] + attribute DOMString align; + [SetterThrows] + attribute DOMString dir; + [SetterThrows] + attribute DOMString flex; + [SetterThrows] + attribute DOMString flexGroup; + [SetterThrows] + attribute DOMString ordinal; + [SetterThrows] + attribute DOMString orient; + [SetterThrows] + attribute DOMString pack; + + // Properties for hiding elements. + attribute boolean hidden; + attribute boolean collapsed; + + // Property for hooking up to broadcasters + [SetterThrows] + attribute DOMString observes; + + // Properties for hooking up to popups + [SetterThrows] + attribute DOMString menu; + [SetterThrows] + attribute DOMString contextMenu; + [SetterThrows] + attribute DOMString tooltip; + + // Width/height properties + [SetterThrows] + attribute DOMString width; + [SetterThrows] + attribute DOMString height; + [SetterThrows] + attribute DOMString minWidth; + [SetterThrows] + attribute DOMString minHeight; + [SetterThrows] + attribute DOMString maxWidth; + [SetterThrows] + attribute DOMString maxHeight; + + // Persistence + [SetterThrows] + attribute DOMString persist; + + // Position properties for + // * popups - these are screen coordinates + // * other elements - these are client coordinates relative to parent stack. + [SetterThrows] + attribute DOMString left; + [SetterThrows] + attribute DOMString top; + + // XUL Template Builder + [SetterThrows] + attribute DOMString datasources; + [SetterThrows] + attribute DOMString ref; + + // Tooltip and status info + [SetterThrows] + attribute DOMString tooltipText; + [SetterThrows] + attribute DOMString statusText; + + attribute boolean allowEvents; + + readonly attribute MozRDFCompositeDataSource? database; + readonly attribute MozXULTemplateBuilder? builder; + [Throws] + readonly attribute MozRDFResource? resource; + [Throws] + readonly attribute MozControllers controllers; + [Throws] + readonly attribute BoxObject? boxObject; + + [Throws] + void focus(); + [Throws] + void blur(); + [Throws] + void click(); + void doCommand(); + + // XXXbz this isn't really a nodelist! See bug 818548 + NodeList getElementsByAttribute(DOMString name, + DOMString value); + // XXXbz this isn't really a nodelist! See bug 818548 + [Throws] + NodeList getElementsByAttributeNS(DOMString namespaceURI, + DOMString name, + DOMString value); + [Constant] + readonly attribute CSSStyleDeclaration style; +}; + +// And the things from nsIFrameLoaderOwner +[NoInterfaceObject] +interface MozFrameLoaderOwner { + [ChromeOnly] + readonly attribute MozFrameLoader? frameLoader; + + [ChromeOnly] + void setIsPrerendered(); + + [ChromeOnly, Throws] + void presetOpenerWindow(WindowProxy? window); + + [ChromeOnly, Throws] + void swapFrameLoaders(XULElement aOtherLoaderOwner); + + [ChromeOnly, Throws] + void swapFrameLoaders(HTMLIFrameElement aOtherLoaderOwner); +}; + +XULElement implements GlobalEventHandlers; +XULElement implements TouchEventHandlers; +XULElement implements MozFrameLoaderOwner; +XULElement implements OnErrorEventHandlerForNodes; |