JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.4.1
[ckeditor.git] / _source / plugins / indent / plugin.js
index e60a29e..4c1406e 100644 (file)
@@ -157,7 +157,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                                // Convert the array back to a DOM forest (yes we might have a few subtrees now).\r
                                // And replace the old list with the new forest.\r
-                               var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, 0 );\r
+                               var newListDir = listNode.getAttribute( 'dir' ) || listNode.getStyle( 'direction' );\r
+                               var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, newListDir );\r
 \r
                                // Avoid nested <li> after outdent even they're visually same,\r
                                // recording them for later refactoring.(#3982)\r
@@ -280,9 +281,19 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                ranges = selection && selection.getRanges( true ),\r
                                range;\r
 \r
+                       var skipBookmarks = function( node )\r
+                       {\r
+                               return ! node.hasAttribute( '_cke_bookmark' );\r
+                       };\r
+\r
                        var iterator = ranges.createIterator();\r
                        while ( ( range = iterator.getNextRange() ) )\r
                        {\r
+                               // Do not indent body. (#6138)\r
+                               range.shrink( CKEDITOR.SHRINK_ELEMENT );\r
+                               if ( range.endContainer.getName() == 'body' )\r
+                                       range.setEndAt( range.endContainer.getLast( skipBookmarks ), CKEDITOR.POSITION_BEFORE_END );\r
+\r
                                var startContainer = range.startContainer,\r
                                        endContainer = range.endContainer,\r
                                        rangeRoot = range.getCommonAncestor(),\r