docs: function( dialog, elementDefinition, htmlList ) {
  				if ( arguments.length < 3 )
  					return;
  
  				initPrivateObject.call( this, elementDefinition );
  				var domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textInput',
  					attributes = { 'class': 'cke_dialog_ui_input_' + elementDefinition.type, id: domId, type: elementDefinition.type },
  					i;
  
  				// Set the validator, if any.
  				if ( elementDefinition.validate )
  					this.validate = elementDefinition.validate;
  
  				// Set the max length and size.
  				if ( elementDefinition.maxLength )
  					attributes.maxlength = elementDefinition.maxLength;
  				if ( elementDefinition.size )
  					attributes.size = elementDefinition.size;
  
  				if ( elementDefinition.inputStyle )
  					attributes.style = elementDefinition.inputStyle;
  
  				// If user presses Enter in a text box, it implies clicking OK for the dialog.
  				var me = this,
  					keyPressedOnMe = false;
  				dialog.on( 'load', function() {
  					me.getInputElement().on( 'keydown', function( evt ) {
  						if ( evt.data.getKeystroke() == 13 )
  							keyPressedOnMe = true;
  					} );
  
  					// Lower the priority this 'keyup' since 'ok' will close the dialog.(#3749)
  					me.getInputElement().on( 'keyup', function( evt ) {
  						if ( evt.data.getKeystroke() == 13 && keyPressedOnMe ) {
  							dialog.getButton( 'ok' ) && setTimeout( function() {
  								dialog.getButton( 'ok' ).click();
  							}, 0 );
  							keyPressedOnMe = false;
  						}
  					}, null, null, 1000 );
  				} );
  
  				var innerHTML = function() {
  						// IE BUG: Text input fields in IE at 100% would exceed a <td> or inline
  						// container's width, so need to wrap it inside a <div>.
  						var html = [ '<div class="cke_dialog_ui_input_', elementDefinition.type, '" role="presentation"' ];
  
  						if ( elementDefinition.width )
  							html.push( 'style="width:' + elementDefinition.width + '" ' );
  
  						html.push( '><input ' );
  
  						attributes[ 'aria-labelledby' ] = this._.labelId;
  						this._.required && ( attributes[ 'aria-required' ] = this._.required );
  						for ( var i in attributes )
  							html.push( i + '="' + attributes[ i ] + '" ' );
  						html.push( ' /></div>' );
  						return html.join( '' );
  					};
  				CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
  			}