<?xml version="1.0"?> <!-- 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/. --> <bindings id="generalBindings" xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xbl="http://www.mozilla.org/xbl"> <binding id="basecontrol"> <implementation implements="nsIDOMXULControlElement"> <!-- public implementation --> <property name="disabled" onset="if (val) this.setAttribute('disabled', 'true'); else this.removeAttribute('disabled'); return val;" onget="return this.getAttribute('disabled') == 'true';"/> <property name="tabIndex" onget="return parseInt(this.getAttribute('tabindex')) || 0" onset="if (val) this.setAttribute('tabindex', val); else this.removeAttribute('tabindex'); return val;"/> </implementation> </binding> <binding id="basetext" extends="chrome://global/content/bindings/general.xml#basecontrol"> <implementation implements="nsIDOMXULLabeledControlElement"> <!-- public implementation --> <property name="label" onset="this.setAttribute('label',val); return val;" onget="return this.getAttribute('label');"/> <property name="crop" onset="this.setAttribute('crop',val); return val;" onget="return this.getAttribute('crop');"/> <property name="image" onset="this.setAttribute('image',val); return val;" onget="return this.getAttribute('image');"/> <property name="command" onset="this.setAttribute('command',val); return val;" onget="return this.getAttribute('command');"/> <property name="accessKey"> <getter> <![CDATA[ return this.labelElement ? this.labelElement.accessKey : this.getAttribute('accesskey'); ]]> </getter> <setter> <![CDATA[ // Always store on the control this.setAttribute('accesskey', val); // If there is a label, change the accesskey on the labelElement // if it's also set there if (this.labelElement) { this.labelElement.accessKey = val; } return val; ]]> </setter> </property> <field name="labelElement"/> </implementation> </binding> <binding id="control-item" extends="chrome://global/content/bindings/general.xml#basetext"> <implementation> <property name="value" onset="this.setAttribute('value', val); return val;" onget="return this.getAttribute('value');"/> </implementation> </binding> <binding id="root-element"> <implementation> <field name="_lightweightTheme">null</field> <constructor><![CDATA[ if (this.hasAttribute("lightweightthemes")) { let temp = {}; Components.utils.import("resource://gre/modules/LightweightThemeConsumer.jsm", temp); this._lightweightTheme = new temp.LightweightThemeConsumer(this.ownerDocument); } ]]></constructor> <destructor><![CDATA[ if (this._lightweightTheme) { this._lightweightTheme.destroy(); this._lightweightTheme = null; } ]]></destructor> </implementation> </binding> <binding id="iframe" role="outerdoc"> <implementation> <property name="docShell" readonly="true"> <getter><![CDATA[ let frameLoader = this.QueryInterface(Components.interfaces.nsIFrameLoaderOwner).frameLoader; return frameLoader ? frameLoader.docShell : null; ]]></getter> </property> <property name="contentWindow" readonly="true" onget="return this.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow);"/> <property name="webNavigation" onget="return this.docShell.QueryInterface(Components.interfaces.nsIWebNavigation);" readonly="true"/> <property name="contentDocument" readonly="true" onget="return this.webNavigation.document;"/> </implementation> </binding> <binding id="statusbarpanel" display="xul:button"> <content> <children> <xul:label class="statusbarpanel-text" xbl:inherits="value=label,crop" crop="right" flex="1"/> </children> </content> <implementation> <property name="label" onget="return this.getAttribute('label');" onset="this.setAttribute('label',val); return val;"/> <property name="image" onget="return this.getAttribute('image');" onset="this.setAttribute('image',val); return val;"/> <property name="src" onget="return this.getAttribute('src');" onset="this.setAttribute('src',val); return val;"/> </implementation> </binding> <binding id="statusbarpanel-menu-iconic" display="xul:menu" extends="chrome://global/content/bindings/general.xml#statusbarpanel"> <content> <xul:image class="statusbarpanel-icon" xbl:inherits="src,src=image"/> <children/> </content> </binding> <binding id="statusbar" role="xul:statusbar"> <content> <children/> <xul:statusbarpanel class="statusbar-resizerpanel"> <xul:resizer dir="bottomend"/> </xul:statusbarpanel> </content> </binding> <binding id="statusbarpanel-iconic" display="xul:button" role="xul:button" extends="chrome://global/content/bindings/general.xml#statusbarpanel"> <content> <xul:image class="statusbarpanel-icon" xbl:inherits="src,src=image"/> </content> </binding> <binding id="statusbarpanel-iconic-text" display="xul:button" role="xul:button" extends="chrome://global/content/bindings/general.xml#statusbarpanel"> <content> <xul:image class="statusbarpanel-icon" xbl:inherits="src,src=image"/> <xul:label class="statusbarpanel-text" xbl:inherits="value=label,crop"/> </content> </binding> <binding id="image" role="xul:image"> <implementation implements="nsIDOMXULImageElement"> <property name="src" onget="return this.getAttribute('src');" onset="this.setAttribute('src',val); return val;"/> </implementation> </binding> <binding id="deck"> <implementation> <property name="selectedIndex" onget="return this.getAttribute('selectedIndex') || '0'"> <setter> <![CDATA[ if (this.selectedIndex == val) return val; this.setAttribute("selectedIndex", val); var event = document.createEvent('Events'); event.initEvent('select', true, true); this.dispatchEvent(event); return val; ]]> </setter> </property> <property name="selectedPanel"> <getter> <![CDATA[ return this.childNodes[this.selectedIndex]; ]]> </getter> <setter> <![CDATA[ var selectedIndex = -1; for (var panel = val; panel != null; panel = panel.previousSibling) ++selectedIndex; this.selectedIndex = selectedIndex; return val; ]]> </setter> </property> </implementation> </binding> <binding id="dropmarker" extends="xul:button" role="xul:dropmarker"> <resources> <stylesheet src="chrome://global/skin/dropmarker.css"/> </resources> <content> <xul:image class="dropmarker-icon"/> </content> </binding> <binding id="windowdragbox"> <implementation> <field name="_dragBindingAlive">true</field> <constructor> if (!this._draggableStarted) { this._draggableStarted = true; try { let tmp = {}; Components.utils.import("resource://gre/modules/WindowDraggingUtils.jsm", tmp); let draghandle = new tmp.WindowDraggingElement(this); draghandle.mouseDownCheck = function () { return this._dragBindingAlive; }; } catch (e) {} } </constructor> </implementation> </binding> </bindings>