public/ckeditor/4.4dev/plugins/dialogui/plugin.js
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 );
			}
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 );
			}
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 ) ; }
A file upload input.

@class CKEDITOR.ui.dialog.file
@extends CKEDITOR.ui.dialog.labeledElement
@constructor Creates a file class instance.
@param {CKEDITOR.dialog} dialog Parent dialog window object.
@param {CKEDITOR.dialog.definition.uiElement} elementDefinition
The element definition. Accepted fields:

* `validate` (Optional) The validation function.

@param {Array} htmlList List of HTML code to output to.
A file upload input .