Index: /CKEditor/branches/versions/3.4.x/CHANGES.html
===================================================================
--- /CKEditor/branches/versions/3.4.x/CHANGES.html	(revision 5686)
+++ /CKEditor/branches/versions/3.4.x/CHANGES.html	(revision 5687)
@@ -40,7 +40,8 @@
 			New features:</p>
 	<ul>
-		<li><a href="http://dev.fckeditor.net/ticket/5628">#5628</a> : Port 'DragResizeTable' plugin from FCKEditor 2.x.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5268">#5268</a> : Port 'DragResizeTable' plugin from FCKEditor 2.x.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/979">#979</a> : New configuration 'enableTabKeyTools' to allow using 'Tab' key to navigate through table cells.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5909">#5909</a> : BiDi: Support for switching base language.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4606">#4606</a> : Port 'AutoGrow' plugin from FCKEditor 2.x.</li>
 	</ul>
 	<p>
Index: /CKEditor/branches/versions/3.4.x/_samples/autogrow.html
===================================================================
--- /CKEditor/branches/versions/3.4.x/_samples/autogrow.html	(revision 5687)
+++ /CKEditor/branches/versions/3.4.x/_samples/autogrow.html	(revision 5687)
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>AutoGrow Plugin - CKEditor Sample</title>
+	<meta content="text/html; charset=utf-8" http-equiv="content-type" />
+	<!-- CKReleaser %REMOVE_LINE%
+	<script type="text/javascript" src="../ckeditor.js"></script>
+	CKReleaser %REMOVE_START% -->
+	<script type="text/javascript" src="../ckeditor_source.js"></script>
+	<!-- CKReleaser %REMOVE_END% -->
+	<script src="sample.js" type="text/javascript"></script>
+	<link href="sample.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+	<h1>
+		CKEditor Sample
+	</h1>
+	<!-- This <div> holds alert messages to be display in the sample page. -->
+	<div id="alerts">
+		<noscript>
+			<p>
+				<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
+				support, like yours, you should still see the contents (HTML data) and you should
+				be able to edit it normally, without a rich editor interface.
+			</p>
+		</noscript>
+	</div>
+	<form action="sample_posteddata.php" method="post">
+		<p>
+			In this sample the AutoGrow plugin is available. It makes the editor grow to fit the size of the content.</p>
+		<p>
+			<label for="editor1">
+				With default configuration:</label><br />
+			<textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>
+			<script type="text/javascript">
+			//<![CDATA[
+
+				CKEDITOR.replace( 'editor1', {
+					extraPlugins : 'autogrow'
+				});
+
+			//]]>
+			</script>
+		</p>
+		<p>
+			<label for="editor2">
+				With maximum height set to 400:</label><br />
+			<textarea cols="80" id="editor2" name="editor2" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>
+			<script type="text/javascript">
+			//<![CDATA[
+
+				CKEDITOR.replace( 'editor2', {
+					extraPlugins : 'autogrow',
+					autoGrow_maxHeight : 400
+				});
+
+			//]]>
+			</script>
+		</p>
+		<p>
+			<input type="submit" value="Submit" />
+		</p>
+	</form>
+	<div id="footer">
+		<hr />
+		<p>
+			CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
+		</p>
+		<p id="copy">
+			Copyright &copy; 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
+			Knabben. All rights reserved.
+		</p>
+	</div>
+</body>
+</html>
Index: /CKEditor/branches/versions/3.4.x/_samples/index.html
===================================================================
--- /CKEditor/branches/versions/3.4.x/_samples/index.html	(revision 5686)
+++ /CKEditor/branches/versions/3.4.x/_samples/index.html	(revision 5687)
@@ -42,4 +42,5 @@
 		<li><a href="output_xhtml.html">Output XHTML</a></li>
 		<li><a href="output_html.html">Output HTML</a></li>
+		<li><a href="autogrow.html">AutoGrow plugin</a></li>
 	</ul>
 	<div id="footer">
Index: /CKEditor/branches/versions/3.4.x/_source/plugins/autogrow/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.4.x/_source/plugins/autogrow/plugin.js	(revision 5687)
+++ /CKEditor/branches/versions/3.4.x/_source/plugins/autogrow/plugin.js	(revision 5687)
@@ -0,0 +1,79 @@
+/*
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+/**
+ * @file AutoGrow plugin
+ */
+(function(){
+	var resizeEditor = function( editor )
+	{
+		var doc = editor.document,
+			documentElement = doc.getDocumentElement().$,
+			currentHeight = editor.window.getViewPaneSize().height,
+			newHeight;
+
+		if ( CKEDITOR.env.ie )
+			newHeight = documentElement.scrollHeight;
+		else
+			newHeight = documentElement.offsetHeight;
+
+		var min = editor.config.autoGrow_minHeight,
+			max = editor.config.autoGrow_maxHeight;
+		( min == undefined ) && ( editor.config.autoGrow_minHeight = min = 200 );
+		if ( min )
+			newHeight = Math.max( newHeight, min );
+		if ( max )
+			newHeight = Math.min( newHeight, max );
+
+		if ( newHeight != currentHeight )
+		{
+			newHeight = editor.fire( 'autoGrow', { currentHeight : currentHeight, newHeight : newHeight } ).newHeight;
+			editor.resize( editor.container.getStyle( 'width' ), newHeight, true );
+		}
+	};
+	CKEDITOR.plugins.add( 'autogrow',
+	{
+		init : function( editor )
+		{
+			for ( var eventName in { contentDom:1, key:1, selectionChange:1, insertElement:1 } )
+			{
+				editor.on( eventName, function( evt )
+				{
+					// Some time is required for insertHtml, and it gives other events better performance as well.
+					if ( evt.editor.mode == 'wysiwyg' )
+						setTimeout( function(){ resizeEditor( evt.editor ); }, 100 );
+				});
+			}
+		}
+	});
+})();
+/** 
+ * The minimum height to which the editor can reach using AutoGrow.
+ * @name CKEDITOR.config.autoGrow_minHeight
+ * @type Number 
+ * @default 200 
+ * @since 3.4
+ * @example 
+ * config.autoGrow_minHeight = 300;
+ */ 
+
+/** 
+ * The maximum height to which the editor can reach using AutoGrow. Zero means unlimited.
+ * @name CKEDITOR.config.autoGrow_maxHeight
+ * @type Number 
+ * @default 0
+ * @since 3.4
+ * @example 
+ * config.autoGrow_maxHeight = 400;
+ */ 
+
+/**
+ * Fired when the AutoGrow plugin is about to change the size of the editor.
+ * @name CKEDITOR#autogrow
+ * @event
+ * @param {Number} data.currentHeight The current height of the editor (before the resizing).
+ * @param {Number} data.newHeight The new height of the editor (after the resizing). It can be changed
+ *				to determine another height to be used instead.
+ */
