Changeset 5994


Ignore:
Timestamp:
10/25/10 18:47:45 (3 years ago)
Author:
garry.yao
Message:

#5850: fixing an edge case in IE at the start of list where inline elements selection reported by the browser is wrong.

Location:
CKEditor/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/CHANGES.html

    r5993 r5994  
    154154                <li><a href="http://dev.ckeditor.com/ticket/6501">#6501</a> : [IE9] Context menu item layout is broken.</li> 
    155155                <li><a href="http://dev.ckeditor.com/ticket/5730">#5730</a> : [Safari] Continual pastes (holding paste key) breaks document contents.</li> 
     156                <li><a href="http://dev.ckeditor.com/ticket/5850">#5850</a> : [IE] Inline style misbehaviors at the beginning of numbered/bulleted list.</li> 
    156157                <li>Updated the following language files:<ul> 
    157158                        <li><a href="http://dev.ckeditor.com/ticket/6246">#6246</a> : Chinese Simplified;</li> 
  • CKEditor/trunk/_source/plugins/selection/plugin.js

    r5985 r5994  
    664664                                                        range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset ); 
    665665 
     666                                                        // Correct an invalid IE range case on empty list item. (#5850) 
     667                                                        if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING 
     668                                                                        && range.endOffset <= range.startContainer.getIndex() ) 
     669                                                        { 
     670                                                                range.collapse(); 
     671                                                        } 
     672 
    666673                                                        return [ range ]; 
    667674                                                } 
     
    879886 
    880887                                                        if ( !node || node.type != CKEDITOR.NODE_ELEMENT ) 
    881                                                                 return range.startContainer; 
     888                                                                node = range.startContainer; 
    882889 
    883890                                                        var child = node.getFirst(); 
     
    887894                                                                child = child.getFirst(); 
    888895                                                        } 
    889  
    890                                                         return node; 
    891                                                 } 
    892                                         } 
    893  
    894                                         if ( CKEDITOR.env.ie ) 
    895                                         { 
    896                                                 range = sel.createRange(); 
    897                                                 range.collapse( 1 ); 
    898  
    899                                                 node = range.parentElement(); 
    900                                         } 
    901                                         else 
    902                                         { 
    903                                                 node = sel.anchorNode; 
    904  
    905                                                 if ( node && node.nodeType != 1 ) 
    906                                                         node = node.parentNode; 
     896                                                } 
     897                                                else 
     898                                                { 
     899                                                        node = range.startContainer; 
     900                                                        if ( node.type != CKEDITOR.NODE_ELEMENT ) 
     901                                                                node = node.getParent(); 
     902                                                } 
     903 
     904                                                node = node.$; 
    907905                                        } 
    908906                        } 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy