Changeset 5994


Ignore:
Timestamp:
10/25/2010 06:47:45 PM (5 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