Ticket #4826: 4826.patch
File 4826.patch, 1.4 KB (added by , 14 years ago) |
---|
-
_source/plugins/contextmenu/plugin.js
183 183 { 184 184 var domEvent = event.data; 185 185 186 if ( nativeContextMenuOnCtrl 187 && ( domEvent.$.ctrlKey || domEvent.$.metaKey ) ) 186 if ( nativeContextMenuOnCtrl && 187 // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event, 188 // which make this property unreliable. (#4826) 189 ( safariOnWin ? holdCtrlKey : domEvent.$.ctrlKey || domEvent.$.metaKey ) ) 188 190 return; 189 191 190 192 // Cancel the browser context menu. … … 201 203 0, this ); 202 204 }, 203 205 this ); 204 }, 206 207 var safariOnWin = CKEDITOR.env.webkit && !CKEDITOR.env.mac; 208 if( nativeContextMenuOnCtrl && safariOnWin ) 209 { 210 var holdCtrlKey, 211 onKeyDown = function( event ) 212 { 213 holdCtrlKey = event.data.$.ctrlKey || event.data.$.metaKey; 214 }, 215 resetOnKeyUp = function() 216 { 217 holdCtrlKey = 0; 218 }; 205 219 220 element.on( 'keydown', onKeyDown ); 221 element.on( 'keyup', resetOnKeyUp ); 222 element.on( 'contextmenu', resetOnKeyUp ); 223 } 224 }, 225 206 226 addListener : function( listenerFn ) 207 227 { 208 228 this._.listeners.push( listenerFn );