Ticket #7433: 7433.patch
File 7433.patch, 1.5 KB (added by , 13 years ago) |
---|
-
_source/plugins/selection/plugin.js
677 677 range.collapse( start ); 678 678 679 679 // Gets the element that encloses the range entirely. 680 var parent = range.parentElement(); 680 var parent = range.parentElement(), 681 doc = parent.ownerDocument; 681 682 682 683 // Empty parent element, e.g. <i>^</i> 683 684 if ( !parent.hasChildNodes() ) … … 707 708 else if ( position < 0 ) 708 709 startIndex = index + 1; 709 710 else 710 return { container : parent, offset : getNodeIndex( child ) }; 711 } 711 { 712 // IE9 report wrong measurement when range anchors among line-break nodes. 713 // e.g. <p>text<br />^<br /></p> (#7433) 714 if ( CKEDITOR.env.ie9Compat && child.tagName == 'BR' ) 715 { 716 var bmId = 'cke_marker_hr'; 717 range.execCommand( 'CreateBookmark', false, bmId ); 718 child = doc.getElementsByName( bmId )[ 0 ]; 719 var offset = getNodeIndex( child ); 720 parent.removeChild( child ); 721 return { container : parent, offset : offset }; 722 } 723 else 724 return { container : parent, offset : getNodeIndex( child ) }; 725 } 726 } 712 727 713 728 // All childs are text nodes, 714 729 // or to the right hand of test range are all text nodes. (#6992)