Index: /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2704)
+++ /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2705)
@@ -1632,4 +1632,5 @@
 				widths = elementDefinition && elementDefinition.widths || null,
 				height = elementDefinition && elementDefinition.height || null,
+				styles = {},
 				i;
 			/** @ignore */
@@ -1664,5 +1665,10 @@
 				return html.join( '' );
 			};
-			CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type : 'hbox' }, htmlList, 'table', { 'table-layout' : 'fixed' }, 
+
+			// WEBKIT BUG: Must use fixed table layout or fields would overflow out of the dialog.
+			if ( CKEDITOR.env.webkit )
+				styles['table-layout'] = 'fixed';
+
+			CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type : 'hbox' }, htmlList, 'table', styles, 
 					{ align : ( elementDefinition && elementDefinition.align ) ||
 						( dialog.getParentEditor().lang.dir == 'ltr' ? 'left' : 'right' ) }, innerHTML );
@@ -1692,5 +1698,8 @@
 				if ( elementDefinition && elementDefinition.expand )
 					html.push( 'height:100%;' );
-				html.push( 'width:' + fixLength( width || '100%' ), ';', 'table-layout: fixed;' );
+				html.push( 'width:' + fixLength( width || '100%' ), ';' );
+				// WEBKIT BUG: Must use fixed table layout or fields would overflow out of the dialog.
+				if ( CKEDITOR.env.webkit )
+					html.push( 'table-layout: fixed;');
 				html.push( '"' );
 				html.push( 'align="', CKEDITOR.tools.htmlEncode(
Index: /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js	(revision 2704)
+++ /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js	(revision 2705)
@@ -364,6 +364,19 @@
 						}, this );
 
-				CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'table', null, 
-						{ align : elementDefinition.align || ( dialog.getParentEditor().lang.dir == 'ltr' ? 'left' : 'right' ) }, innerHTML );
+				var styles = {},
+					align = elementDefinition.align || ( dialog.getParentEditor().lang.dir == 'ltr' ? 'left' : 'right' );
+
+				// IE6 BUG: Need to set margin as well as align.
+				if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )
+				{
+					styles.margin = [
+						'auto',
+						align == 'right' ? '0px' : 'auto',
+						'auto',
+						align == 'left' ? '0px' : 'auto' ].join( ' ' );
+				}
+
+				CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'table', styles, 
+						{ align : align }, innerHTML );
 			},
 
