Ticket #6253: 6253_4.patch
File 6253_4.patch, 3.7 KB (added by , 14 years ago) |
---|
-
_source/core/dom/element.js
1552 1552 this.setStyle( type, size + 'px' ); 1553 1553 } 1554 1554 }; 1555 })() 1556 }); 1555 })(), 1556 1557 /** 1558 * Gets element's direction. Supports both CSS 'direction' prop and 'dir' attr. 1559 */ 1560 getDirection : function( includeComputedDirection ) 1561 { 1562 return this.getAttribute( 'dir' ) || this.getStyle( 'direction' ) || ( includeComputedDirection && this.getComputedStyle( 'direction' ) ); 1563 } 1564 }); 1565 No newline at end of file -
!TEST/UNIT-TESTS/tt/1659/1.html
47 47 </pre> 48 48 <textarea id="editor2" name="editor2" rows="10" cols="80"><p>text<br/>text<br/>text<br/>text<br/>text<br/>text<br/>text<br/>text<br/>text<br/>text<br/></p></textarea> 49 49 <textarea id="editor3" name="editor3" rows="10" cols="80"><p>texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext</p></textarea> 50 <link href="" rel="stylesheet"> 50 51 </body> 51 52 </html> -
_source/plugins/list/plugin.js
298 298 // Insert the list to the DOM tree. 299 299 var insertAnchor = listContents[ listContents.length - 1 ].getNext(), 300 300 listNode = doc.createElement( this.type ), 301 dir;301 listDir, explicitDirection; 302 302 303 303 listsCreated.push( listNode ); 304 305 var contentBlock, listItem; 306 307 // Loop over all items to figure out new list direction. 308 for ( i = 0; i < listContents.length; i++ ) 309 { 310 contentBlock = listContents[ i ]; 311 312 if ( !explicitDirection && contentBlock.getDirection() ) 313 explicitDirection = 1; 314 315 var itemDir = contentBlock.getDirection( 1 ) || editor.config.contentsLangDirection; 316 317 if ( listDir !== null ) 318 { 319 if ( listDir && listDir != itemDir ) 320 listDir = null; 321 else 322 listDir = itemDir; 323 } 324 } 325 304 326 while ( listContents.length ) 305 327 { 306 var contentBlock = listContents.shift(),307 328 contentBlock = listContents.shift(); 329 listItem = doc.createElement( 'li' ); 308 330 309 331 // Preserve preformat block and heading structure when converting to list item. (#5335) (#5271) 310 332 if ( contentBlock.is( 'pre' ) || headerTagRegex.test( contentBlock.getName() ) ) 311 333 contentBlock.appendTo( listItem ); 312 334 else 313 335 { 314 if ( contentBlock.hasAttribute( 'dir' ) ) 336 // Remove DIR attribute if it was merged into list root. 337 if ( listDir && contentBlock.getDirection() ) 315 338 { 316 dir = dir || contentBlock.getAttribute( 'dir' );339 contentBlock.removeStyle( 'direction' ); 317 340 contentBlock.removeAttribute( 'dir' ); 318 341 } 342 319 343 contentBlock.copyAttributes( listItem ); 320 344 contentBlock.moveChildren( listItem ); 321 345 contentBlock.remove(); … … 324 348 listItem.appendTo( listNode ); 325 349 } 326 350 327 if ( dir ) 328 listNode.setAttribute( 'dir', dir ); 351 // Apply list root dir only if it has been explicitly declared. 352 if ( listDir && explicitDirection ) 353 listNode.setAttribute( 'dir', listDir ); 329 354 330 355 if ( insertAnchor ) 331 356 listNode.insertBefore( insertAnchor );