Ticket #3671: 3671_4.patch

File 3671_4.patch, 2.2 KB (added by Garry Yao, 15 years ago)
  • _source/core/htmlparser/fragment.js

     
    104104
    105105                        // If the target is the fragment and this element can't go inside
    106106                        // body (if fixForBody).
    107                         if ( fixForBody && !target.type && !CKEDITOR.dtd.$body[ element.name ] )
     107                        if ( fixForBody && !target.type )
    108108                        {
    109                                 var savedCurrent = currentNode;
     109                                var elementName, realElementName;
     110                                if ( element.attributes
     111                                         && ( realElementName =
     112                                                  element.attributes[ '_cke_real_element_type' ] ) )
     113                                        elementName = realElementName;
     114                                else
     115                                        elementName =  element.name;
     116                                if ( !( elementName in CKEDITOR.dtd.$body ) )
     117                                {
     118                                        var savedCurrent = currentNode;
    110119
    111                                 // Create a <p> in the fragment.
    112                                 currentNode = target;
    113                                 parser.onTagOpen( fixForBody, {} );
     120                                        // Create a <p> in the fragment.
     121                                        currentNode = target;
     122                                        parser.onTagOpen( fixForBody, {} );
    114123
    115                                 // The new target now is the <p>.
    116                                 target = currentNode;
     124                                        // The new target now is the <p>.
     125                                        target = currentNode;
    117126
    118                                 if ( enforceCurrent )
    119                                         currentNode = savedCurrent;
    120                         }
     127                                        if ( enforceCurrent )
     128                                                currentNode = savedCurrent;
     129                                }
     130                        }
    121131
    122132                        // Rtrim empty spaces on block end boundary. (#3585)
    123133                        if ( element._.isBlockLike
  • CHANGES.html

     
    119119                <li><a href="http://dev.fckeditor.net/ticket/3887">#3887</a> : Fixed an issue in which the create
    120120                        list command may leak outside of a selected table cell and into the rest of document.</li>
    121121                <li><a href="http://dev.fckeditor.net/ticket/3916">#3916</a> : Fixed maximize does not enlarge editor width when width is set.</li>
     122                <li><a href="http://dev.fckeditor.net/ticket/3671">#3671</a> : Fixed body fixing should be applied to the real type under fake elements.</li>
    122123        </ul>
    123124        <h3>
    124125                CKEditor 3.0 RC</h3>
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy