<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
	<binding id="none">
		<content><children/></content>
	</binding>
	<binding id="ellipsis">
		<content>
			<xul:label crop="end"><children/></xul:label>
		</content>
		<implementation>
			<field name="label"> document.getAnonymousNodes( this )[ 0 ] </field>
			<field name="style"> this.label.style </field>
			<property name="display">
				<getter> this.style.display </getter>
				<setter> if( this.style.display != val ) this.style.display= val </setter>
			</property>
			<property name="value">
				<getter> this.label.value </getter>
				<setter> if( this.label.value != val ) this.label.value= val </setter>
			</property>
			<method name="update">
				<body>
					var strings= this.textContent.split( /\s+/g )
					if( !strings[ 0 ] ) strings.shift()
					if( !strings[ strings.length - 1 ] ) strings.pop()
					this.value= strings.join( ' ' )
					this.display= strings.length ? '' : 'none'
				</body>
			</method>
			<constructor> this.update() </constructor>
		</implementation>
		<handlers>
			<handler event="DOMSubtreeModified"> this.update() </handler>
		</handlers>
	</binding>
</bindings> 
