docs: function( dialog, elementDefinition, htmlList ) {
  				if ( arguments.length < 3 )
  					return;
  
  				if ( elementDefinition[ 'default' ] === undefined )
  					elementDefinition[ 'default' ] = '';
  
  				var _ = CKEDITOR.tools.extend( initPrivateObject.call( this, elementDefinition ), { definition: elementDefinition, buttons: [] } );
  
  				if ( elementDefinition.validate )
  					this.validate = elementDefinition.validate;
  
  				/** @ignore */
  				var innerHTML = function() {
  						_.frameId = CKEDITOR.tools.getNextId() + '_fileInput';
  
  						var html = [
  							'<iframe' +
  								' frameborder="0"' +
  								' allowtransparency="0"' +
  								' class="cke_dialog_ui_input_file"' +
  								' role="presentation"' +
  								' id="', _.frameId, '"' +
  								' title="', elementDefinition.label, '"' +
  								' src="javascript:void(' ];
  
  						// Support for custom document.domain on IE. (#10165)
  						html.push( CKEDITOR.env.ie ?
  							'(function(){' + encodeURIComponent(
  								'document.open();' +
  								'(' + CKEDITOR.tools.fixDomain + ')();' +
  								'document.close();'
  							) + '})()'
  							:
  							'0' );
  
  						html.push( ')">' +
  							'</iframe>' );
  
  						return html.join( '' );
  					};
  
  				// IE BUG: Parent container does not resize to contain the iframe automatically.
  				dialog.on( 'load', function() {
  					var iframe = CKEDITOR.document.getById( _.frameId ),
  						contentDiv = iframe.getParent();
  					contentDiv.addClass( 'cke_dialog_ui_input_file' );
  				} );
  
  				CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
  			}