For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
+/**\r
+ * @class\r
+ */\r
CKEDITOR.dom.range = function( document )\r
{\r
this.startContainer = null;\r
}\r
}\r
\r
- var walker = new CKEDITOR.dom.walker( walkerRange );\r
+ var walker = new CKEDITOR.dom.walker( walkerRange ),\r
+ isBookmark = CKEDITOR.dom.walker.bookmark();\r
\r
walker.evaluator = function( node )\r
{\r
var currentElement;\r
walker.guard = function( node, movingOut )\r
{\r
+ if ( isBookmark( node ) )\r
+ return true;\r
+\r
// Stop when we're shrink in element mode while encountering a text node.\r
if ( mode == CKEDITOR.SHRINK_ELEMENT && node.type == CKEDITOR.NODE_TEXT )\r
return false;\r
// Fixing invalid range end inside dtd empty elements.\r
if( endNode.type == CKEDITOR.NODE_ELEMENT\r
&& CKEDITOR.dtd.$empty[ endNode.getName() ] )\r
- endNode = endNode.getParent(), endOffset = endNode.getIndex() + 1;\r
+ endOffset = endNode.getIndex() + 1, endNode = endNode.getParent();\r
\r
this.endContainer = endNode;\r
this.endOffset = endOffset;\r
CKEDITOR.ENLARGE_BLOCK_CONTENTS = 2;\r
CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS = 3;\r
\r
-/**\r
- * Check boundary types.\r
- * @see CKEDITOR.dom.range.prototype.checkBoundaryOfElement\r
- */\r
+// Check boundary types.\r
+// @see CKEDITOR.dom.range.prototype.checkBoundaryOfElement\r
CKEDITOR.START = 1;\r
CKEDITOR.END = 2;\r
CKEDITOR.STARTEND = 3;\r
\r
-/**\r
- * Shrink range types.\r
- * @see CKEDITOR.dom.range.prototype.shrink\r
- */\r
+// Shrink range types.\r
+// @see CKEDITOR.dom.range.prototype.shrink\r
CKEDITOR.SHRINK_ELEMENT = 1;\r
CKEDITOR.SHRINK_TEXT = 2;\r