Ticket #7932: 7932.patch
File 7932.patch, 3.8 KB (added by , 12 years ago) |
---|
-
_source/plugins/clipboard/plugin.js
226 226 // Wait a while and grab the pasted contents 227 227 window.setTimeout( function() 228 228 { 229 mode == 'text' && CKEDITOR.env.gecko && editor.focusGrabber.focus(); 229 // Gecko need to move focus back from the textarea 230 // to blink the cursor. (#5684) 231 if ( mode == 'text' && CKEDITOR.env.gecko ) 232 editor.document.getBody().focus(); 233 230 234 pastebin.remove(); 231 235 editor.removeListener( 'selectionChange', cancel ); 232 236 -
_source/plugins/wysiwygarea/plugin.js
703 703 } ); 704 704 } 705 705 706 // IE standard compliant in editing frame doesn't focus the editor when707 // clicking outside actual content, manually apply the focus. (#1659)708 if ( editable &&709 CKEDITOR.env.ie && domDocument.$.compatMode == 'CSS1Compat'710 || CKEDITOR.env.gecko711 || CKEDITOR.env.opera )712 {713 var htmlElement = domDocument.getDocumentElement();714 htmlElement.on( 'mousedown', function( evt )715 {716 // Setting focus directly on editor doesn't work, we717 // have to use here a temporary element to 'redirect'718 // the focus.719 if ( evt.data.getTarget().equals( htmlElement ) )720 {721 if ( CKEDITOR.env.gecko && CKEDITOR.env.version >= 10900 )722 blinkCursor();723 focusGrabber.focus();724 }725 } );726 }727 728 706 var focusTarget = CKEDITOR.env.ie ? iframe : domWindow; 729 707 focusTarget.on( 'blur', function() 730 708 { … … 1205 1183 }); 1206 1184 } 1207 1185 1208 // Create an invisible element to grab focus.1209 if ( CKEDITOR.env.gecko || CKEDITOR.env.ie || CKEDITOR.env.opera )1210 {1211 var focusGrabber;1212 editor.on( 'uiReady', function()1213 {1214 focusGrabber = editor.container.append( CKEDITOR.dom.element.createFromHtml(1215 // Use 'span' instead of anything else to fly under the screen-reader radar. (#5049)1216 '<span tabindex="-1" style="position:absolute;" role="presentation"></span>' ) );1217 1218 focusGrabber.on( 'focus', function()1219 {1220 editor.focus();1221 } );1222 1223 editor.focusGrabber = focusGrabber;1224 } );1225 editor.on( 'destroy', function()1226 {1227 CKEDITOR.tools.removeFunction( contentDomReadyHandler );1228 focusGrabber.clearCustomData();1229 delete editor.focusGrabber;1230 } );1231 }1232 1233 1186 // Disable form elements editing mode provided by some browers. (#5746) 1234 1187 editor.on( 'insertElement', function ( evt ) 1235 1188 { -
_source/plugins/selection/plugin.js
399 399 saveSelection(); 400 400 }); 401 401 402 // When content doc is in standards mode, IE doesn't focus the editor when 403 // clicking on outside body (on html element) content, manually apply the 404 // selection helps. (#1659, #7932) 405 html.on( 'mouseup', function() 406 { 407 var sel = CKEDITOR.document.$.selection, 408 range = sel.createRange(); 409 // The selection range is reported on host, but actually it should applies to the content doc. 410 if ( sel.type != 'None' && range.parentElement().ownerDocument == doc.$ ) 411 range.select(); 412 } ); 402 413 403 414 // IE is the only to provide the "selectionchange" 404 415 // event.