Changeset 6618


Ignore:
Timestamp:
03/28/11 06:11:30 (3 years ago)
Author:
garry.yao
Message:

#7358: Regression of [6461] which breaks enter key behavior on empty block.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/_source/plugins/selection/plugin.js

    r6594 r6618  
    7070 
    7171        // #### checkSelectionChange : END 
     72 
     73        function rangeRequiresFix( range ) 
     74        { 
     75                function isInlineCt( node ) 
     76                { 
     77                        return node && node.type == CKEDITOR.NODE_ELEMENT 
     78                                        && node.getName() in CKEDITOR.dtd.$removeEmpty; 
     79                } 
     80 
     81                var start = range.startContainer, 
     82                        offset = range.startOffset; 
     83 
     84                if ( start.type == CKEDITOR.NODE_TEXT ) 
     85                        return false; 
     86 
     87                // 1. Empty inline element. <span>^</span> 
     88                // 2. Adjoin to inline element. <p><strong>text</strong>^</p> 
     89                return !CKEDITOR.tools.trim( start.getHtml() ) ? isInlineCt( start ) : isInlineCt( start.getChild( offset - 1 ) ) || isInlineCt( start.getChild( offset ) ) 
     90        } 
    7291 
    7392        var selectAllCmd = 
     
    159178                                                switch ( e.data.keyCode ) 
    160179                                                { 
     180                                                        case 13 :       // ENTER 
     181                                                        case CKEDITOR.SHIFT + 13 :      // SHIFT-ENTER 
    161182                                                        case 37 :       // LEFT-ARROW 
    162183                                                        case 39 :       // RIGHT-ARROW 
     
    164185                                                                removeFillingChar( editor.document ); 
    165186                                                } 
    166                                         }); 
     187                                        }, null, null, 10 ); 
    167188 
    168189                                var fillingCharBefore; 
     
    12571278                                        } 
    12581279 
    1259                                         if ( range.collapsed && CKEDITOR.env.webkit ) 
     1280                                        if ( range.collapsed 
     1281                                                        && CKEDITOR.env.webkit 
     1282                                                        && rangeRequiresFix( range ) ) 
    12601283                                        { 
    12611284                                                // Append a zero-width space so WebKit will not try to 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy