Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 3842)
+++ /CKEditor/trunk/CHANGES.html	(revision 3843)
@@ -1,3 +1,3 @@
-﻿﻿﻿﻿﻿﻿﻿﻿﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
@@ -109,4 +109,5 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3903">#3903</a> : Color button plugin doesn't read config entry from editor instance correctly.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/3801">#3801</a> : Comments at the start of the document was lost in IE.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3879">#3879</a> : Color button panel was incorrect size on first open in webkit.</li>		
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/plugins/floatpanel/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/floatpanel/plugin.js	(revision 3842)
+++ /CKEditor/trunk/_source/plugins/floatpanel/plugin.js	(revision 3843)
@@ -212,13 +212,6 @@
 							}
 
-							if ( !CKEDITOR.env.gecko || panel.isLoaded )
-							{
-								// IE7 needs some time (setting the delay to 0ms won't work) to refresh
-								// the scrollHeight. (#3174)
-								if ( CKEDITOR.env.ie && CKEDITOR.env.version >= 7 )
-									setTimeout( setHeight, 50 );
-								else
-									setHeight();
-							}
+							if ( panel.isLoaded )
+								setHeight();
 							else
 								panel.onLoad = setHeight;
Index: /CKEditor/trunk/_source/plugins/panel/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/panel/plugin.js	(revision 3842)
+++ /CKEditor/trunk/_source/plugins/panel/plugin.js	(revision 3843)
@@ -135,4 +135,9 @@
 					doc = iframe.getFrameDocument();
 
+				var win = doc.getWindow();
+
+				// Register the CKEDITOR global.
+				win.$.CKEDITOR = CKEDITOR;
+
 				// Initialize the IFRAME document body.
 				doc.$.open();
@@ -141,4 +146,11 @@
 				if ( CKEDITOR.env.isCustomDomain() )
 					doc.$.domain = document.domain;
+
+				var onLoad = CKEDITOR.tools.addFunction( CKEDITOR.tools.bind( function( ev )
+					{
+						this.isLoaded = true;
+						if ( this.onLoad )
+							this.onLoad();
+					}, this ) );
 
 				doc.$.write(
@@ -148,5 +160,6 @@
 							'<style>.' + className + '_container{visibility:hidden}</style>' +
 						'</head>' +
-						'<body class="cke_' + dir + ' cke_panel_frame ' + CKEDITOR.env.cssClass + '" style="margin:0;padding:0">' +
+						'<body class="cke_' + dir + ' cke_panel_frame ' + CKEDITOR.env.cssClass + '" style="margin:0;padding:0"' +
+						' onload="( window.CKEDITOR || window.top.CKEDITOR ).tools.callFunction(' + onLoad + ');">' +
 						'</body>' +
 						// It looks strange, but for FF2, the styles must go
@@ -156,17 +169,4 @@
 					'<\/html>' );
 				doc.$.close();
-
-				var win = doc.getWindow();
-
-				// Register the CKEDITOR global.
-				win.$.CKEDITOR = CKEDITOR;
-
-				win.on( 'load', function( ev )
-					{
-						this.isLoaded = true;
-						if ( this.onLoad )
-							this.onLoad();
-					},
-					this);
 
 				doc.on( 'keydown', function( evt )
