Index: /CKEditor/branches/features/v4-ui/_source/core/config.js
===================================================================
--- /CKEditor/branches/features/v4-ui/_source/core/config.js	(revision 7101)
+++ /CKEditor/branches/features/v4-ui/_source/core/config.js	(revision 7102)
@@ -259,5 +259,5 @@
 	 * config.height = '300px';
 	 */
-	height : 200,
+	height : 300,
 
 	/**
@@ -401,5 +401,5 @@
 	 * config.width = '75%';
 	 */
-	width : '',
+	width : '100%',
 
 	/**
Index: /CKEditor/branches/features/v4-ui/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- /CKEditor/branches/features/v4-ui/_source/plugins/wysiwygarea/plugin.js	(revision 7101)
+++ /CKEditor/branches/features/v4-ui/_source/plugins/wysiwygarea/plugin.js	(revision 7102)
@@ -532,5 +532,4 @@
 
 						iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +
-  							' style="width:100%;height:100%"' +
   							' frameBorder="0"' +
   							' title="' + frameLabel + '"' +
Index: /CKEditor/branches/features/v4-ui/_source/skins/kama/mainui.css
===================================================================
--- /CKEditor/branches/features/v4-ui/_source/skins/kama/mainui.css	(revision 7101)
+++ /CKEditor/branches/features/v4-ui/_source/skins/kama/mainui.css	(revision 7102)
@@ -6,10 +6,4 @@
 .cke_skin_kama
 {
-	display: block;
-}
-
-/* Main editor only settings. */
-span.cke_skin_kama
-{
 	-moz-border-radius: 5px;
 	-webkit-border-radius: 5px;
@@ -17,27 +11,4 @@
 	border: 1px solid #D3D3D3;
 	padding: 5px;
-}
-
-.cke_skin_kama span.cke_browser_webkit,
-.cke_skin_kama span.cke_browser_gecko18
-{
-	display: block;
-}
-
-.cke_skin_kama .cke_wrapper
-{
-	-moz-border-radius: 5px;
-	-webkit-border-radius: 5px;
-	border-radius: 5px;
-	background-color: #d3d3d3;
-	background-image: url(images/sprites.png);
-	background-repeat: repeat-x;
-	background-position: 0 -1950px;
-	display: block;
-	/* IE Quirks: editor chrome overflow horizontally without an explicit width. */
-	_display: inline-block;
-	padding: 5px;
-
-	/*background-color: Red;*/
 }
 
@@ -55,10 +26,26 @@
 .cke_skin_kama .cke_editor
 {
-	display: inline-table;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	background-color: #d3d3d3;
+	background-image: url(images/sprites.png);
+	background-repeat: repeat-x;
+	background-position: 0 -1950px;
 	width: 100%;
+	height: 100%;
 }
-.cke_skin_kama .cke_browser_webkit .cke_editor
+
+.cke_skin_kama .cke_top
 {
-	display: table;	/* #6684 */
+	padding:5px 5px 0px;
+}
+.cke_skin_kama .cke_contents
+{
+	padding:0px 5px;
+}
+.cke_skin_kama .cke_bottom
+{
+	padding:0px 5px 5px;
 }
 
@@ -78,7 +65,9 @@
 }
 
-.cke_skin_kama .cke_contents
+/* Content space takes up the maximum amount of  spaces available.*/
+.cke_skin_kama .cke_browser_gecko .cke_contents,
+.cke_skin_kama .cke_browser_webkit .cke_contents
 {
-	margin: 5px;
+	height: 100%;
 }
 
@@ -90,4 +79,6 @@
 .cke_skin_kama .cke_contents iframe
 {
+	width:100%;
+	height:100%;
 	background-color: #fff;
 }
Index: /CKEditor/branches/features/v4-ui/_source/skins/kama/toolbar.css
===================================================================
--- /CKEditor/branches/features/v4-ui/_source/skins/kama/toolbar.css	(revision 7101)
+++ /CKEditor/branches/features/v4-ui/_source/skins/kama/toolbar.css	(revision 7102)
@@ -22,5 +22,4 @@
 .cke_skin_kama .cke_toolbox
 {
-	clear: both;
 	/* Define the padding-bottom otherwise the collapser button will not be clickable #4932*/
 	padding-bottom: 1px;
Index: /CKEditor/branches/features/v4-ui/_source/themes/default/theme.js
===================================================================
--- /CKEditor/branches/features/v4-ui/_source/themes/default/theme.js	(revision 7101)
+++ /CKEditor/branches/features/v4-ui/_source/themes/default/theme.js	(revision 7102)
@@ -97,24 +97,6 @@
 			var bottomHtml		= editor.fireOnce( 'themeSpace', { space : 'bottom', html : '' } ).html;
 
-			var height	= contentsHtml && editor.config.height;
-
 			var tabIndex = editor.config.tabIndex || editor.element.getAttribute( 'tabindex' ) || 0;
 
-			// The editor height is considered only if the contents space got filled.
-			if ( !contentsHtml )
-				height = 'auto';
-			else if ( !isNaN( height ) )
-				height += 'px';
-
-			var style = '';
-			var width	= editor.config.width;
-
-			if ( width )
-			{
-				if ( !isNaN( width ) )
-					width += 'px';
-
-				style += "width: " + width + ";";
-			}
 
 			var sharedTop		= topHtml && checkSharedSpace( editor, 'top' ),
@@ -131,5 +113,5 @@
 
 			var container = CKEDITOR.dom.element.createFromHtml( [
-				'<span' +
+				'<table' +
 					' id="cke_', name, '"' +
 					' class="', editor.skinClass, ' ', editor.id, ' cke_editor_', name, '"' +
@@ -140,22 +122,20 @@
 					' role="application"' +
 					' aria-labelledby="cke_', name, '_arialbl"' +
-					( style ? ' style="' + style + '"' : '' ) +
 					'>' +
-					'<span id="cke_', name, '_arialbl" class="cke_voice_label">' + editor.lang.editor + '</span>' +
-					'<span class="' , CKEDITOR.env.cssClass, '" role="presentation">' +
-						'<span class="cke_wrapper cke_', editor.lang.dir, '" role="presentation">' +
-							'<table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody>' +
+					'<tr class="cke_wrapper ' , CKEDITOR.env.cssClass, '" role="presentation">' +
+						'<td class="cke_wrapper cke_', editor.lang.dir, '" role="presentation">' +
+						'<label id="cke_', name, '_arialbl" class="cke_voice_label">' + editor.lang.editor + '</label>' +
+							'<table class="cke_editor" role="presentation">' +
 								'<tr', topHtml		? '' : ' style="display:none"', ' role="presentation"><td id="cke_top_'		, name, '" class="cke_top" role="presentation">'	, topHtml		, '</td></tr>' +
-								'<tr', contentsHtml	? '' : ' style="display:none"', ' role="presentation"><td id="cke_contents_', name, '" class="cke_contents" style="height:', height, '" role="presentation">', contentsHtml, '</td></tr>' +
+								'<tr', contentsHtml	? '' : ' style="display:none"', ' role="presentation"><td id="cke_contents_', name, '" class="cke_contents" role="presentation">', contentsHtml, '</td></tr>' +
 								'<tr', bottomHtml	? '' : ' style="display:none"', ' role="presentation"><td id="cke_bottom_'	, name, '" class="cke_bottom" role="presentation">'	, bottomHtml	, '</td></tr>' +
-							'</tbody></table>' +
+							'</table>' +
 							//Hide the container when loading skins, later restored by skin css.
 							hideSkin +
-						'</span>' +
-					'</span>' +
-				'</span>' ].join( '' ) );
-
-			container.getChild( [1, 0, 0, 0, 0] ).unselectable();
-			container.getChild( [1, 0, 0, 0, 2] ).unselectable();
+						'</td>' +
+					'</tr>' +
+				'</table>' ].join( '' ) );
+
+			container.unselectable();
 
 			if ( elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
@@ -188,4 +168,6 @@
 				toolbarSpace && toolbarSpace.getParent().getParent()[ func ]( 'cke_mixed_dir_content' );
 			});
+
+			editor.resize( editor.config.width, editor.config.height );
 
 			editor.fireOnce( 'themeLoaded' );
@@ -332,6 +314,8 @@
 	// resize it. If we don't, the browser crashes!
 	CKEDITOR.env.webkit && outer.setStyle( 'display', 'none' );
+
 	// Set as border box width. (#5353)
-	outer.setSize( 'width',  width, true );
+	isNaN( width ) ? outer.setStyle( 'width', width ) : outer.setSize( 'width',  width, true );
+
 	if ( CKEDITOR.env.webkit )
 	{
@@ -340,8 +324,14 @@
 	}
 
-	// Get the height delta between the outer table and the content area.
-	// If we're setting the content area's height, then we don't need the delta.
-	var delta = isContentHeight ? 0 : ( outer.$.offsetHeight || 0 ) - ( contents.$.clientHeight || 0 );
-	contents.setStyle( 'height', Math.max( height - delta, 0 ) + 'px' );
+	// Liquid layout is supported for Firefox and Webkit, where content space takes up the maximum
+	// amount of space available after the entire editor's size changes, e.g. when browser window
+	// width shrinks, toolbar items are thus wrapped (toolbar height increase), editor's height should
+	// remains, in other browsers instead, editor height is always converted to content space height.
+	var isOuterHeight = CKEDITOR.env.gecko || CKEDITOR.env.webkit;
+
+	var target = isOuterHeight ?  outer : contents;
+	var delta = isOuterHeight ^ isContentHeight ? 0 : ( outer.$.offsetHeight || 0 ) - ( contents.$.clientHeight || 0 );
+
+	target.setStyle( 'height', Math.max( height + ( isOuterHeight ? 1 : -1 ) * delta, 0 ) + 'px' );
 
 	// Emit a resize event.
