<binding id="popups">
<content>
<!--xul:box class="popup-internal-box" orient="vertical" flex="1" style="overflow: auto">
<children/>
</xul:box-->
<xul:arrowscrollbox class="popup-internal-box" flex="1" orient="vertical">
<!--xul:box class="popup-internal-box" orient="vertical"-->
<children/>
<!--/xul:box-->
</xul:arrowscrollbox>
</content>
<interface>
<method name="openPopup">
<argument name="element"/>
<argument name="xpos"/>
<argument name="ypos"/>
<argument name="popuptype"/>
<argument name="anchoralignment"/>
<argument name="popupalignment"/>
<body>
<![CDATA[
try {
var popupSetBox =this.parentNode.boxObject.QueryInterface(Components.interfaces.nsIPopupSetBoxObject);
var menuBox = this.parentNode.boxObject.QueryInterface(Components.interfaces.nsIMenuBoxObject);
} catch(e) {}
if (popupSetBox)
popupSetBox.createPopup(element, this, xpos, ypos, popuptype, anchoralignment, popupalignment);
else if (menuBox)
menuBox.openMenu(true);
]]>
</body>
</method>
<method name="closePopup">
<body>
<![CDATA[
try {
var popupSetBox = this.parentNode.boxObject.QueryInterface(Components.interfaces.nsIPopupSetBoxObject);
var menuBox = this.parentNode.boxObject.QueryInterface(Components.interfaces.nsIMenuBoxObject);
} catch(e) {}
if (popupSetBox)
popupSetBox.destroyPopup();
else if (menuBox)
menuBox.openMenu(false);
]]>
</body>
</method>
</interface>
</binding>