Index: /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2689)
+++ /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2690)
@@ -163,10 +163,10 @@
 
 	// Initialize the tab and page map.
-	CKEDITOR.tools.extend (this._,
+	CKEDITOR.tools.extend( this._,
 		{
 			tabs : {},
 			pageCount : 0,
 			lastTab : null
-		}, true);
+		}, true );
 
 	// Make the dialog an event hub.
Index: /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js	(revision 2689)
+++ /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js	(revision 2690)
@@ -141,5 +141,5 @@
 			 * @extends CKEDITOR.ui.dialog.labeledElement
 			 */
-			textInput : function( dialog, elementDefinition, htmlList, stylesArg, attributesArg, contentsArg )
+			textInput : function( dialog, elementDefinition, htmlList )
 			{
 				if ( arguments.length < 3 )
@@ -147,8 +147,6 @@
 
 				initPrivateObject.call( this, elementDefinition );
-				var attributes = ( attributesArg && attributesArg.call ? attributesArg( elementDefinition ) : attributesArg ) || {},
-					domId = this._.inputId = attributes.id || CKEDITOR.tools.getNextNumber() + '_textInput',
-					styles = ( stylesArg && stylesArg.call ? stylesArg( elementDefinition ) : stylesArg ) || {},
-					inputContents = ( contentsArg && contentsArg.call ? contentsArg( dialog, elementDefinition) : contentsArg ) || '',
+				var domId = this._.inputId = CKEDITOR.tools.getNextNumber() + '_textInput',
+					attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId },
 					i;
 
@@ -156,12 +154,10 @@
 				if ( !( 'default' in this._ ) )
 					this._['default'] = '';
-
-				// Set the id and name for the inner input element.
-				attributes.id = domId;
-				if ( elementDefinition.id )
-					attributes.name = elementDefinition.id;
-
-				// Set the type.
-				attributes.type = elementDefinition.type;
+				if ( elementDefinition['default'] )
+					attributes.value = this._['default'];
+
+				// Set the validator, if any.
+				if ( elementDefinition.validate )
+					this.validate = elementDefinition.validate;
 
 				// Set the max length and size.
@@ -170,35 +166,4 @@
 				if ( elementDefinition.size )
 					attributes.size = elementDefinition.size;
-
-				// Set the type and definition CSS class names.
-				var classes = {};
-				classes[ 'cke_dialog_ui_input_' + elementDefinition.type ] = 1;
-				if ( elementDefinition.className )
-					classes[ elementDefinition.className ] = 1;
-				var attributeClasses = ( attributes['class'] && attributes['class'].split ) ? attributes['class'].split( ' ' ) : [];
-				for ( i = 0 ; i < attributeClasses.length ; i++ )
-				{
-					if ( attributeClasses[i] )
-						classes[ attributeClasses[i] ] = 1;
-				}
-				var finalClasses = [];
-				for ( i in classes )
-					finalClasses.push( i );
-				attributes['class'] = finalClasses.join( ' ' );
-
-				// Set the default value.
-				if ( elementDefinition['default'] )
-					attributes.value = elementDefinition['default'];
-
-				// Write the inline CSS styles.
-				var styleStr = [];
-				for ( i in styles )
-					styleStr.push( i + ':' + styles[i] );
-				if ( styleStr.length > 0 )
-					attributes.style = styleStr.join( '; ' );
-
-				// Set the validator, if any.
-				if ( elementDefinition.validate )
-					this.validate = elementDefinition.validate;
 
 				// If user presses Enter in a text box, it implies clicking OK for the dialog.
@@ -216,8 +181,10 @@
 				var innerHTML = function()
 				{
-					var html = [ '<input ' ];
+					// 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, '"><input ' ];
 					for ( var i in attributes )
 						html.push( i + '="' + attributes[i] + '" ' );
-					html.push( '>', inputContents, '</input>' );
+					html.push( ' /></div>' );
 					return html.join( '' );
 				};
@@ -469,13 +436,10 @@
 
 				// IE BUG: Parent container does not resize to contain the iframe automatically.
-				if ( CKEDITOR.env.ie )
-				{
-					dialog.on( 'load', function()
-						{
-							var iframe = CKEDITOR.document.getById( _.frameId ),
-								contentDiv = iframe.getParent();
-							contentDiv.addClass( 'cke_dialog_ui_input_file' );
-						} );
-				}
+				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 );
Index: /CKEditor/branches/prototype/_source/skins/default/dialog.css
===================================================================
--- /CKEditor/branches/prototype/_source/skins/default/dialog.css	(revision 2689)
+++ /CKEditor/branches/prototype/_source/skins/default/dialog.css	(revision 2690)
@@ -302,11 +302,20 @@
 }
 
-.cke_skin_default .cke_dialog_ui_input_text
+.cke_skin_default input.cke_dialog_ui_input_text,
+.cke_skin_default input.cke_dialog_ui_input_password
+{
+	background-color: white;
+	border: none;
+	padding: 0px;
+	width: 100%;
+	height: 14px;
+}
+
+.cke_skin_default div.cke_dialog_ui_input_text,
+.cke_skin_default div.cke_dialog_ui_input_password
 {
 	background-color: white;
 	border: 1px solid #a0a0a0;
-	height: 14px;
-	padding: 1px;
-	width: 100%;
+	padding: 1px 0px;
 }
 
@@ -497,5 +506,5 @@
 }
 
-.cke_skin_default div.cke_dialog_ui_input_file
+.cke_skin_default.cke_browser_ie div.cke_dialog_ui_input_file
 {
 	height: 25px;
