Ticket #3591: 3591.patch

File 3591.patch, 2.4 KB (added by Garry Yao, 15 years ago)
  • plugins/fakeobjects/plugin.js

     
    7777        return this.document.createElement( 'img', { attributes : attributes } );
    7878};
    7979
    80 CKEDITOR.editor.prototype.createFakeParserElement = function( realElement, className, realElementType, isResizable )
     80CKEDITOR.editor.prototype.createFakeParserElement = function( realElement, className, realElementType, isResizable, enableFilter )
    8181{
    82         var writer = new CKEDITOR.htmlParser.basicWriter();
     82        var writer = new CKEDITOR.htmlParser.basicWriter(),
     83                filter = enableFilter? this.dataProcessor.dataFilter : null;
     84        realElement.writeHtml( writer, filter );
    8385
    84         realElement.writeHtml( writer );
    85 
    8686        var html = writer.getHtml();
    8787
    8888        var attributes =
  • plugins/flash/plugin.js

     
    2222                return ( attributes.type != 'application/x-shockwave-flash' || !flashFilenameRegex.test( attributes.src || '' ) );
    2323        }
    2424
    25         function createFakeElement( editor, realElement )
     25        function createFakeElement( editor, realElement, enableFilter )
    2626        {
    27                 var fakeElement = editor.createFakeParserElement( realElement, 'cke_flash', 'flash', true ),
     27                var fakeElement = editor.createFakeParserElement( realElement, 'cke_flash', 'flash', true, true ),
    2828                        fakeStyle = fakeElement.attributes.style || '';
    2929
    3030                var width = realElement.attributes.width,
     
    9999                                        {
    100100                                                elements :
    101101                                                {
    102                                                         'cke:object' : function( element )
     102                                                        'cke:object' : function( element, filter )
    103103                                                        {
    104104                                                                var attributes = element.attributes,
    105105                                                                        classId = attributes.classid && String( attributes.classid ).toLowerCase();
     
    119119                                                                        }
    120120                                                                        return null;
    121121                                                                }
    122 
    123                                                                 return createFakeElement( editor, element );
     122                                                                // Contents of <cke:object> need to be filtered also.(#3591)
     123                                                                // We temporarily disable this filter now. 
     124                                                                filter._.elements[ 'cke:object' ] = null;
     125                                                                var fake = createFakeElement( editor, element, true );
     126                                                                filter._.elements[ 'cke:object' ] = arguments.callee;
     127                                                                return fake;
    124128                                                        },
    125129
    126130                                                        'cke:embed' : function( element )
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy