Index: /CKEditor/trunk/_source/plugins/contextmenu/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/contextmenu/plugin.js	(revision 4747)
+++ /CKEditor/trunk/_source/plugins/contextmenu/plugin.js	(revision 4748)
@@ -184,6 +184,8 @@
 					var domEvent = event.data;
 
-					if ( nativeContextMenuOnCtrl
-						 && ( domEvent.$.ctrlKey || domEvent.$.metaKey ) )
+					if ( nativeContextMenuOnCtrl &&
+					     // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event,
+						// which make this property unreliable. (#4826)    
+					     ( CKEDITOR.env.webkit ? holdCtrlKey : domEvent.$.ctrlKey || domEvent.$.metaKey ) )
 						return;
 
@@ -202,4 +204,21 @@
 				},
 				this );
+
+			if( CKEDITOR.env.webkit )
+			{
+				var holdCtrlKey,
+					onKeyDown = function( event )
+					{
+						holdCtrlKey = event.data.$.ctrlKey || event.data.$.metaKey;
+					},
+					resetOnKeyUp = function()
+					{
+						holdCtrlKey = 0;
+					};
+
+				element.on( 'keydown', onKeyDown );
+				element.on( 'keyup', resetOnKeyUp );
+				element.on( 'contextmenu', resetOnKeyUp );
+			}
 		},
 
