Ticket #7170: 7170.patch
File 7170.patch, 2.2 KB (added by , 12 years ago) |
---|
-
_source/plugins/enterkey/plugin.js
272 272 273 273 isPre = ( startBlockTag == 'pre' ); 274 274 275 // Old IEs prefer text node as line breaks. 276 var useTextBreak = isPre && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ); 277 275 278 // Gecko prefers <br> as line-break inside <pre> (#4711). 276 if ( isPre && !CKEDITOR.env.gecko)279 if ( useTextBreak ) 277 280 lineBreak = doc.createText( CKEDITOR.env.ie ? '\r' : '\n' ); 278 281 else 279 282 lineBreak = doc.createElement( 'br' ); … … 281 284 range.deleteContents(); 282 285 range.insertNode( lineBreak ); 283 286 284 // IEhas different behavior regarding position.285 if ( CKEDITOR.env.ie)287 // Text line-breaks has different behavior regarding position. 288 if ( useTextBreak ) 286 289 range.setStartAt( lineBreak, CKEDITOR.POSITION_AFTER_END ); 287 290 else 288 291 { … … 292 295 doc.createText( '\ufeff' ).insertAfter( lineBreak ); 293 296 294 297 // If we are at the end of a block, we must be sure the bogus node is available in that block. 295 if ( isEndOfBlock )298 if ( isEndOfBlock && !isPre ) 296 299 lineBreak.getParent().appendBogus(); 297 300 298 301 // Now we can remove the text node contents, so the caret doesn't -
_source/core/htmlparser/fragment.js
383 383 // text contents. 384 384 if ( !inPre ) 385 385 text = text.replace( /[\t\r\n ]{2,}|[\t\r\n]/g, ' ' ); 386 // Use <br /> instead of text line-breaks in pre-formatted block when possible. 387 else if ( !( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) ) 388 { 389 // The first line-break following open tag is considered as formatter in <pre>. 390 if ( !currentNode._.hasInlineStarted ) 391 text = text.replace( /^(\r\n|\n)/g, '' ); 386 392 393 text = text.replace( /\r\n|\n/g, '<br />' ); 394 } 395 387 396 currentNode.add( new CKEDITOR.htmlParser.text( text ) ); 388 397 }; 389 398