Ticket #3671: 3671_2.patch
File 3671_2.patch, 2.5 KB (added by , 15 years ago) |
---|
-
_source/plugins/pagebreak/plugin.js
79 79 80 80 // Creates the fake image used for this element. 81 81 breakObject = editor.createFakeElement( breakObject, 'cke_pagebreak', 'div' ); 82 83 var ranges = editor.getSelection().getRanges(); 84 85 for ( var range, i = 0 ; i < ranges.length ; i++ ) 86 { 87 range = ranges[ i ]; 88 89 if ( i > 0 ) 90 breakObject = breakObject.clone( true ); 91 92 range.splitBlock( 'p' ); 93 range.insertNode( breakObject ); 94 } 95 } 82 editor.insertElement( breakObject ); 83 } 96 84 }; -
_source/plugins/htmldataprocessor/plugin.js
138 138 CKEDITOR.htmlDataProcessor = function() 139 139 { 140 140 this.writer = new CKEDITOR.htmlWriter(); 141 this.basicWriter = new CKEDITOR.htmlParser.basicWriter(); 141 142 this.dataFilter = new CKEDITOR.htmlParser.filter(); 142 143 this.htmlFilter = new CKEDITOR.htmlParser.filter(); 143 144 }; … … 162 163 // Now use our parser to make further fixes to the structure, as 163 164 // well as apply the filter. 164 165 var fragment = CKEDITOR.htmlParser.fragment.fromHtml( div.innerHTML, fixForBody ), 165 writer = new CKEDITOR.htmlParser.basicWriter();166 writer = this.basicWriter; 166 167 167 168 fragment.writeHtml( writer, this.dataFilter ); 168 169 … … 171 172 172 173 toDataFormat : function( html, fixForBody ) 173 174 { 174 var writer = this.writer, 175 fragment = CKEDITOR.htmlParser.fragment.fromHtml( html, fixForBody ); 175 var basicWriter = this.basicWriter, 176 htmlWriter = this.writer, 177 fragment = CKEDITOR.htmlParser.fragment.fromHtml( html ), 178 html; 176 179 177 writer.reset(); 180 // First running through html filters, after this step, some 181 // schema-invalid markup might be generated due to element 182 // replacement(#3671). 183 fragment.writeHtml( basicWriter, this.htmlFilter ); 184 html = basicWriter.getHtml( true ); 178 185 179 fragment.writeHtml( writer, this.htmlFilter ); 180 181 return writer.getHtml( true ); 186 // Then format the intermediate html to final output. 187 fragment = CKEDITOR.htmlParser.fragment.fromHtml( html, fixForBody ); 188 fragment.writeHtml( htmlWriter ); 189 return htmlWriter.getHtml( true ); 182 190 } 183 191 }; 184 192 })();