diff --git a/CHANGES.md b/CHANGES.md index 6c5486dec34..659c6abe5f7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -32,6 +32,7 @@ Fixed Issues: * [#10877](http://dev.ckeditor.com/ticket/10877): Fixed: WebSpellChecker fails to apply changes if nested editable was focused. * [#10870](http://dev.ckeditor.com/ticket/10870): Fixed: `paste` command is not being disabled when clipboard is empty any more. * [#10866](http://dev.ckeditor.com/ticket/10866): Fixed: Broken *Tab* key navigation in the Image2 dialog. +* [#10854](http://dev.ckeditor.com/ticket/10854): Fixed: Firefox prepends `
` to ``, so it is stripped by the HTML data processor. ## CKEditor 4.3 Beta diff --git a/core/htmldataprocessor.js b/core/htmldataprocessor.js index bf0de075228..64d3cecc574 100644 --- a/core/htmldataprocessor.js +++ b/core/htmldataprocessor.js @@ -143,8 +143,17 @@ editor.on( 'toDataFormat', function( evt ) { + var data = evt.data.dataValue; + + // #10854 - we need to strip leading blockless
which FF adds + // automatically when editable contains only non-editable content. + // We do that for every browser (so it's a constant behavior) and + // not in BR mode, in which chance of valid leading blockless
is higher. + if ( evt.data.enterMode != CKEDITOR.ENTER_BR ) + data = data.replace( /^
/i, '' ); + evt.data.dataValue = CKEDITOR.htmlParser.fragment.fromHtml( - evt.data.dataValue, evt.data.context, getFixBodyTag( evt.data.enterMode, editor.config.autoParagraph ) ); + data, evt.data.context, getFixBodyTag( evt.data.enterMode, editor.config.autoParagraph ) ); }, null, null, 5 ); editor.on( 'toDataFormat', function( evt ) {