Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html (revision 6320)
+++ /CKEditor/trunk/CHANGES.html (revision 6321)
@@ -93,4 +93,5 @@
#6909 : [IE] GIF icons of toolbar button from custom plugins are not diplayed in zoom level 100%.
#6860 : [FF] double click on placeholder to open dialog throws JavaScript error.
+ #6630 : Empty pre output variants among browsers.
Index: /CKEditor/trunk/_source/core/dom/element.js
===================================================================
--- /CKEditor/trunk/_source/core/dom/element.js (revision 6320)
+++ /CKEditor/trunk/_source/core/dom/element.js (revision 6321)
@@ -255,4 +255,26 @@
/**
+ * Retrieve block element's filler node if existed.
+ */
+ getBogus : function()
+ {
+ if ( !this.isBlockBoundary() )
+ return;
+
+ var lastChild = this.getLast() ;
+
+ // Ignore empty/spaces text.
+ while ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.rtrim( lastChild.getText() ) )
+ lastChild = lastChild.getPrevious();
+
+ if ( lastChild &&
+ ( CKEDITOR.env.ie && lastChild.type == CKEDITOR.NODE_TEXT && CKEDITOR.tools.trim( lastChild.getText() ).match( /^(?: |\xa0)$/ )
+ || CKEDITOR.env.gecko && CKEDITOR.env.webkit && lastChild.is( 'br' ) ) )
+ {
+ return lastChild;
+ }
+ },
+
+ /**
* Breaks one of the ancestor element in the element position, moving
* this element between the broken parts.
Index: /CKEditor/trunk/_source/plugins/htmldataprocessor/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/htmldataprocessor/plugin.js (revision 6320)
+++ /CKEditor/trunk/_source/plugins/htmldataprocessor/plugin.js (revision 6321)
@@ -200,4 +200,7 @@
delete element.name;
},
+
+ // Empty in IE is reported with filler node ( ).
+ pre : function( element ) { CKEDITOR.env.ie && trimFillers( element ); },
html : function( element )
Index: /CKEditor/trunk/_source/plugins/styles/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/styles/plugin.js (revision 6320)
+++ /CKEditor/trunk/_source/plugins/styles/plugin.js (revision 6321)
@@ -1026,4 +1026,7 @@
function toPre( block, newBlock )
{
+ var bogus = block.getBogus();
+ bogus && bogus.remove();
+
// First trim the block content.
var preHtml = block.getHtml();