Ticket #3657: 3657_4.patch

File 3657_4.patch, 2.1 KB (added by Garry Yao, 10 years ago)
  • _source/plugins/wysiwygarea/plugin.js

     
    1515         */
    1616        var nonExitableElementNames = { table:1,pre:1 };
    1717
     18        /**
     19         * IE and webkit both have already preserved an editing position after table.
     20         */
     21        if( CKEDITOR.env.ie || CKEDITOR.env.webkit )
     22                delete nonExitableElementNames.table;
     23
    1824        function onInsertHtml( evt )
    1925        {
    2026                if ( this.mode == 'wysiwyg' )
     
    108114        }
    109115       
    110116        /**
    111          *  Auto-fixing block-less content by wrapping paragraph, prevent
    112          *  non-exitable-block by padding extra br.
     117         *  Auto-fixing block-less content by wrapping paragraph (#3190), prevent
     118         *  non-exitable-block by padding extra br.(#3189)
    113119         */
    114120        function onSelectionChangeFixBody( evt )
    115121        {
    116122                var editor = evt.editor,
    117123                        path = evt.data.path,
    118124                        blockLimit = path.blockLimit,
     125                        selection = evt.data.selection,
     126                        selectedElement = selection.getSelectedElement(),
    119127                        body = editor.document.getBody(),
    120128                        enterMode = editor.config.enterMode;
    121129
    122                 // When enterMode set to block, we'll establing new paragraph if the
    123                 // current range is block-less within body.
     130                // When enterMode set to block, we'll establing new paragraph only if we're
     131                // selecting inline contents right under body. (#3657)
    124132                if ( enterMode != CKEDITOR.ENTER_BR
    125133                         && blockLimit.getName() == 'body'
    126                          && !path.block )
     134                         && !path.block
     135                         && !( selectedElement && selectedElement.isBlockBoundary  && selectedElement.isBlockBoundary() ) )
    127136                {
    128137                        var selection = evt.data.selection,
    129138                                range = evt.data.selection.getRanges()[0],
     
    137146                        {
    138147                                var brNodeList = fixedBlock.getElementsByTag( 'br' ), brNode;
    139148                                for ( var i = 0 ; i < brNodeList.count() ; i++ )
    140                                         if( ( brNode = brNodeList.getItem( i ) ) && brNode.hasAttribute( '_fck_bookmark' ) )
     149                                        if( ( brNode = brNodeList.getItem( i ) ) && brNode.hasAttribute( '_cke_bogus' ) )
    141150                                                brNode.remove();
    142151                        }
    143152
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy