Ticket #2765: 2765_6.patch

File 2765_6.patch, 2.8 KB (added by Garry Yao, 15 years ago)

Fix fakeobject scope

  • _source/core/htmlparser/element.js

     
    113113                        {
    114114                                var attrib = attribsArray[ i ];
    115115                                // IE's treated expand fields as dom attributes, skip it
    116                                 if ( CKEDITOR.env.ie && attrib === '_cke_expando' )
     116                                if ( CKEDITOR.env.ie && attrib[0] === '_cke_expando' )
    117117                                        continue;
    118118                                writer.attribute( attrib[0], attrib[1] );
    119119                        }
  • _source/plugins/fakeobjects/plugin.js

     
    6565
    6666        /**
    6767         * Manages element placeholders in WYSIWYG area.
     68         * @param {CKEDITOR.editor} 
    6869         * @constructor
    6970         * @example
    7071         */
    71         CKEDITOR.plugins.fakeobjects = function()
     72        CKEDITOR.plugins.fakeobjects = function(editor)
    7273        {
    7374                this._ =
    7475                {
     76                        /**
     77                         * Reference to the belonged editor instance.
     78                         */
     79                        editor: editor,
    7580                        objectTypes : [
    7681                                {
    7782                                        match : function( nodeName, attributes )
     
    309314                restoreHtml : function( html )
    310315                {
    311316                        var parser = new copyParser(),
    312                                 innerParser = new copyParser();
     317                                innerParser = new copyParser(),
     318                                self = this;
    313319
    314320                        innerParser.onTagOpen = function( tagName, attributes, selfClosing )
    315321                        {
     
    346352                                                innerParser.parse( protectedHtml );
    347353                                                protectedHtml = innerParser.output.join( '' );
    348354                                        }
     355                                       
     356                                        //Format protected html which omit by plugin:wysiwyg
     357                                        var processor =self._.editor.dataProcessor;
     358                                        if(processor)
     359                                                protectedHtml = processor.toDataFormat( protectedHtml );
    349360
    350361                                        this.output.push( protectedHtml );
    351362                                        return;
     
    401412                {
    402413                        init : function( editor, pluginPath )
    403414                        {
    404                                 editor.fakeobjects = new CKEDITOR.plugins.fakeobjects();
     415                                editor.fakeobjects = new CKEDITOR.plugins.fakeobjects(editor);
    405416                        }
    406417                } );
    407418})();
  • _source/plugins/htmldataprocessor/plugin.js

     
    2525                // The source data is already HTML, so just return it as is.
    2626                return data;
    2727        },
    28 
    29         toDataFormat : function( element )
     28       
     29        /**
     30         *
     31         * @param {CKEDITOR.dom.element|String} source
     32         */
     33        toDataFormat : function( source )
    3034        {
    3135                var writer = this.writer,
    32                         fragment = CKEDITOR.htmlParser.fragment.fromHtml( element.getHtml() );
     36                        fragment = CKEDITOR.htmlParser.fragment.fromHtml( source.type?source.getHtml() : source);
    3337
    3438                writer.reset();
    3539
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy