public/ckeditor/4.4dev/core/htmldataprocessor.js
function brFilter( isOutput ) {
			return function( br ) {
				// DO NOT apply the filer if parent's a fragment node.
				if ( br.parent.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT )
					return;

				var attrs = br.attributes;
				// Dismiss BRs that are either bogus or eol marker.
				if ( 'data-cke-bogus' in attrs || 'data-cke-eol' in attrs ) {
					delete attrs [ 'data-cke-bogus' ];
					return;
				}

				// Judge the tail line-break BR, and to insert bogus after it.
				var next = getNext( br ), previous = getPrevious( br );

				if ( !next && isBlockBoundary( br.parent ) )
					append( br.parent, createFiller( isOutput ) );
				else if ( isBlockBoundary( next ) && previous && !isBlockBoundary( previous ) )
					createFiller( isOutput ).insertBefore( next );
			};
		}
function brFilter( isOutput ) {
			return function( br ) {
				// DO NOT apply the filer if parent's a fragment node.
				if ( br.parent.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT )
					return;

				var attrs = br.attributes;
				// Dismiss BRs that are either bogus or eol marker.
				if ( 'data-cke-bogus' in attrs || 'data-cke-eol' in attrs ) {
					delete attrs [ 'data-cke-bogus' ];
					return;
				}

				// Judge the tail line-break BR, and to insert bogus after it.
				var next = getNext( br ), previous = getPrevious( br );

				if ( !next && isBlockBoundary( br.parent ) )
					append( br.parent, createFiller( isOutput ) );
				else if ( isBlockBoundary( next ) && previous && !isBlockBoundary( previous ) )
					createFiller( isOutput ).insertBefore( next );
			};
		}
function brFilter ( isOutput ) { return function ( br ) { // DO NOT apply the filer if parent's a fragment node. if ( br . parent . type == CKEDITOR . NODE_DOCUMENT_FRAGMENT ) return ; var attrs = br . attributes ; // Dismiss BRs that are either bogus or eol marker. if ( 'data-cke-bogus' in attrs || 'data-cke-eol' in attrs ) { delete attrs [ 'data-cke-bogus' ] ; return ; } // Judge the tail line-break BR, and to insert bogus after it. var next = getNext ( br ) , previous = getPrevious ( br ) ; if ( ! next && isBlockBoundary ( br . parent ) ) append ( br . parent , createFiller ( isOutput ) ) ; else if ( isBlockBoundary ( next ) && previous && ! isBlockBoundary ( previous ) ) createFiller ( isOutput ) . insertBefore ( next ) ; } ; }
Append a filler right after the last line-break BR, found at the end of block.
Append a filler right after the last line - break BR found at the end of block .