\r
var notWhitespaceEval = CKEDITOR.dom.walker.whitespaces( true );\r
\r
+ // Elements that could have empty new line around, including table, pre-formatted block, hr, page-break. (#6554)\r
+ function nonExitable( element )\r
+ {\r
+ return ( element.getName() in nonExitableElementNames )\r
+ || element.isBlockBoundary() && CKEDITOR.dtd.$empty[ element.getName() ];\r
+ }\r
+\r
function checkReadOnly( selection )\r
{\r
if ( selection.getType() == CKEDITOR.SELECTION_ELEMENT )\r
var element = fixedBlock.getNext( isNotWhitespace );\r
if ( element &&\r
element.type == CKEDITOR.NODE_ELEMENT &&\r
- !nonExitableElementNames[ element.getName() ] )\r
+ !nonExitable( element ) )\r
{\r
range.moveToElementEditStart( element );\r
fixedBlock.remove();\r
element = fixedBlock.getPrevious( isNotWhitespace );\r
if ( element &&\r
element.type == CKEDITOR.NODE_ELEMENT &&\r
- !nonExitableElementNames[ element.getName() ] )\r
+ !nonExitable( element ) )\r
{\r
range.moveToElementEditEnd( element );\r
fixedBlock.remove();\r
{\r
focusGrabber = editor.container.append( CKEDITOR.dom.element.createFromHtml(\r
// Use 'span' instead of anything else to fly under the screen-reader radar. (#5049)\r
- '<span tabindex="-1" style="position:absolute; left:-10000" role="presentation"></span>' ) );\r
+ '<span tabindex="-1" style="position:absolute;" role="presentation"></span>' ) );\r
\r
focusGrabber.on( 'focus', function()\r
{\r