Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 7369)
+++ /CKEditor/trunk/CHANGES.html	(revision 7370)
@@ -51,4 +51,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/8629">#8629</a> : Optimized float panel layout when there's no enough spaces in viewport.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7955">#7955</a> : [FF] Fix "Page Up"/"Page Down" in wysiwyg mode cause selection lost.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/8698">#8698</a> : Fix "Esc" shortcut key to close color picker dialog.</li>
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/plugins/colordialog/dialogs/colordialog.js
===================================================================
--- /CKEditor/trunk/_source/plugins/colordialog/dialogs/colordialog.js	(revision 7369)
+++ /CKEditor/trunk/_source/plugins/colordialog/dialogs/colordialog.js	(revision 7370)
@@ -62,7 +62,5 @@
 		var onMouseout = $tools.addFunction( clearHighlight ),
 			onClick = updateSelected,
-			onClickHandler = CKEDITOR.tools.addFunction( onClick ),
-			onFocus = updateHighlight,
-			onBlur = clearHighlight;
+			onClickHandler = CKEDITOR.tools.addFunction( onClick );
 
 		var onKeydownHandler = CKEDITOR.tools.addFunction( function( ev )
@@ -83,6 +81,4 @@
 						nodeToMove = relative.getChild( [element.getParent().getIndex(), 0] );
 						nodeToMove.focus();
-						onBlur( ev, element );
-						onFocus( ev, nodeToMove );
 					}
 					ev.preventDefault();
@@ -97,6 +93,4 @@
 						{
 							nodeToMove.focus();
-							onBlur( ev, element );
-							onFocus( ev, nodeToMove );
 						}
 					}
@@ -119,10 +113,6 @@
 						{
 							nodeToMove.focus();
-							onBlur( ev, element );
-							onFocus( ev, nodeToMove );
 							ev.preventDefault( true );
 						}
-						else
-							onBlur( null, element );
 					}
 					// relative is TR
@@ -133,10 +123,6 @@
 						{
 							nodeToMove.focus();
-							onBlur( ev, element );
-							onFocus( ev, nodeToMove );
 							ev.preventDefault( true );
 						}
-						else
-							onBlur( null, element );
 					}
 					break;
@@ -149,6 +135,4 @@
 						nodeToMove = relative.getChild( 0 );
 						nodeToMove.focus();
-						onBlur( ev, element );
-						onFocus( ev, nodeToMove );
 						ev.preventDefault( true );
 					}
@@ -158,10 +142,6 @@
 						nodeToMove = relative.getLast().getChild( 0 );
 						nodeToMove.focus();
-						onBlur( ev, element );
-						onFocus( ev, nodeToMove );
 						ev.preventDefault( true );
 					}
-					else
-						onBlur( null, element );
 					break;
 				default :
@@ -279,4 +259,8 @@
 										var table = CKEDITOR.document.getById( this.domId );
 										table.on( 'mouseover', updateHighlight );
+										CKEDITOR.event.useCapture = true;
+										table.on( 'focus', updateHighlight );
+										CKEDITOR.event.useCapture = false;
+
 										// In WebKit, the table content must be inserted after this event call (#6150)
 										CKEDITOR.env.webkit && table.setHtml( html );
