code: function( dialog, elementDefinition, htmlList ) {
  				if ( arguments.length < 3 )
  					return;
  
  				var _ = initPrivateObject.call( this, elementDefinition ),
  					me = this;
  
  				if ( elementDefinition.validate )
  					this.validate = elementDefinition.validate;
  
  				var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
  				var onClick = myDefinition.onClick;
  				myDefinition.className = ( myDefinition.className ? myDefinition.className + ' ' : '' ) + 'cke_dialog_ui_button';
  				myDefinition.onClick = function( evt ) {
  					var target = elementDefinition[ 'for' ]; // [ pageId, elementId ]
  					if ( !onClick || onClick.call( this, evt ) !== false ) {
  						dialog.getContentElement( target[ 0 ], target[ 1 ] ).submit();
  						this.disable();
  					}
  				};
  
  				dialog.on( 'load', function() {
  					dialog.getContentElement( elementDefinition[ 'for' ][ 0 ], elementDefinition[ 'for' ][ 1 ] )._.buttons.push( me );
  				} );
  
  				CKEDITOR.ui.dialog.button.call( this, dialog, myDefinition, htmlList );
  			}
docs: A button for submitting the file in a file upload input.
  
  @class CKEDITOR.ui.dialog.fileButton
  @extends CKEDITOR.ui.dialog.button
  @constructor Creates a fileButton class instance.
  @param {CKEDITOR.dialog} dialog Parent dialog window object.
  @param {CKEDITOR.dialog.definition.uiElement} elementDefinition
  The element definition. Accepted fields:
  
  * `for` (Required) The file input's page and element ID
  to associate with, in a two-item array format: `[ 'page_id', 'element_id' ]`.
  * `validate` (Optional) The validation function.
  
  @param {Array} htmlList List of HTML code to output to.