diff options
Diffstat (limited to 'sources/core/dom/iterator.js')
-rw-r--r-- | sources/core/dom/iterator.js | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sources/core/dom/iterator.js b/sources/core/dom/iterator.js index 1e1b180..9176e33 100644 --- a/sources/core/dom/iterator.js +++ b/sources/core/dom/iterator.js | |||
@@ -1,5 +1,5 @@ | |||
1 | /** | 1 | /** |
2 | * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. | 2 | * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. |
3 | * For licensing, see LICENSE.md or http://ckeditor.com/license | 3 | * For licensing, see LICENSE.md or http://ckeditor.com/license |
4 | */ | 4 | */ |
5 | 5 | ||
@@ -45,7 +45,7 @@ | |||
45 | */ | 45 | */ |
46 | this.forceBrBreak = 0; | 46 | this.forceBrBreak = 0; |
47 | 47 | ||
48 | // (#3730). | 48 | // (http://dev.ckeditor.com/ticket/3730). |
49 | /** | 49 | /** |
50 | * Whether to include `<br>` elements in the enlarged range. Should be | 50 | * Whether to include `<br>` elements in the enlarged range. Should be |
51 | * set to `false` when using the iterator in the {@link CKEDITOR#ENTER_BR} mode. | 51 | * set to `false` when using the iterator in the {@link CKEDITOR#ENTER_BR} mode. |
@@ -85,7 +85,7 @@ | |||
85 | */ | 85 | */ |
86 | 86 | ||
87 | var beginWhitespaceRegex = /^[\r\n\t ]+$/, | 87 | var beginWhitespaceRegex = /^[\r\n\t ]+$/, |
88 | // Ignore bookmark nodes.(#3783) | 88 | // Ignore bookmark nodes.(http://dev.ckeditor.com/ticket/3783) |
89 | bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true ), | 89 | bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true ), |
90 | whitespacesGuard = CKEDITOR.dom.walker.whitespaces( true ), | 90 | whitespacesGuard = CKEDITOR.dom.walker.whitespaces( true ), |
91 | skipGuard = function( node ) { | 91 | skipGuard = function( node ) { |
@@ -191,12 +191,12 @@ | |||
191 | } | 191 | } |
192 | 192 | ||
193 | // The range must finish right before the boundary, | 193 | // The range must finish right before the boundary, |
194 | // including possibly skipped empty spaces. (#1603) | 194 | // including possibly skipped empty spaces. (http://dev.ckeditor.com/ticket/1603) |
195 | if ( range ) { | 195 | if ( range ) { |
196 | range.setEndAt( currentNode, CKEDITOR.POSITION_BEFORE_START ); | 196 | range.setEndAt( currentNode, CKEDITOR.POSITION_BEFORE_START ); |
197 | 197 | ||
198 | // The found boundary must be set as the next one at this | 198 | // The found boundary must be set as the next one at this |
199 | // point. (#1717) | 199 | // point. (http://dev.ckeditor.com/ticket/1717) |
200 | if ( nodeName != 'br' ) { | 200 | if ( nodeName != 'br' ) { |
201 | this._.nextNode = currentNode; | 201 | this._.nextNode = currentNode; |
202 | } | 202 | } |
@@ -244,7 +244,7 @@ | |||
244 | closeRange = 1; | 244 | closeRange = 1; |
245 | includeNode = 0; | 245 | includeNode = 0; |
246 | isLast = isLast || ( parentNode.equals( lastNode ) ); | 246 | isLast = isLast || ( parentNode.equals( lastNode ) ); |
247 | // Make sure range includes bookmarks at the end of the block. (#7359) | 247 | // Make sure range includes bookmarks at the end of the block. (http://dev.ckeditor.com/ticket/7359) |
248 | range.setEndAt( parentNode, CKEDITOR.POSITION_BEFORE_END ); | 248 | range.setEndAt( parentNode, CKEDITOR.POSITION_BEFORE_END ); |
249 | break; | 249 | break; |
250 | } | 250 | } |
@@ -377,7 +377,7 @@ | |||
377 | // Here we are checking in guard function whether current element | 377 | // Here we are checking in guard function whether current element |
378 | // reach lastNode(default behaviour) and root node to prevent against | 378 | // reach lastNode(default behaviour) and root node to prevent against |
379 | // getting out of editor instance root DOM object. | 379 | // getting out of editor instance root DOM object. |
380 | // #12484 | 380 | // http://dev.ckeditor.com/ticket/12484 |
381 | function guardFunction( node ) { | 381 | function guardFunction( node ) { |
382 | return !( node.equals( lastNode ) || node.equals( rootNode ) ); | 382 | return !( node.equals( lastNode ) || node.equals( rootNode ) ); |
383 | } | 383 | } |
@@ -397,7 +397,7 @@ | |||
397 | // Indicate at least one of the range boundaries is inside a preformat block. | 397 | // Indicate at least one of the range boundaries is inside a preformat block. |
398 | touchPre, | 398 | touchPre, |
399 | 399 | ||
400 | // (#12178) | 400 | // (http://dev.ckeditor.com/ticket/12178) |
401 | // Remember if following situation takes place: | 401 | // Remember if following situation takes place: |
402 | // * startAtInnerBoundary: <p>foo[</p>... | 402 | // * startAtInnerBoundary: <p>foo[</p>... |
403 | // * endAtInnerBoundary: ...<p>]bar</p> | 403 | // * endAtInnerBoundary: ...<p>]bar</p> |
@@ -405,13 +405,13 @@ | |||
405 | // Note that we test only if path block exist, because we must properly shrink | 405 | // Note that we test only if path block exist, because we must properly shrink |
406 | // range containing table and/or table cells. | 406 | // range containing table and/or table cells. |
407 | // Note: When range is collapsed there's no way it can be shrinked. | 407 | // Note: When range is collapsed there's no way it can be shrinked. |
408 | // By checking if range is collapsed we also prevent #12308. | 408 | // By checking if range is collapsed we also prevent http://dev.ckeditor.com/ticket/12308. |
409 | startPath = range.startPath(), | 409 | startPath = range.startPath(), |
410 | endPath = range.endPath(), | 410 | endPath = range.endPath(), |
411 | startAtInnerBoundary = !range.collapsed && rangeAtInnerBlockBoundary( range, startPath.block ), | 411 | startAtInnerBoundary = !range.collapsed && rangeAtInnerBlockBoundary( range, startPath.block ), |
412 | endAtInnerBoundary = !range.collapsed && rangeAtInnerBlockBoundary( range, endPath.block, 1 ); | 412 | endAtInnerBoundary = !range.collapsed && rangeAtInnerBlockBoundary( range, endPath.block, 1 ); |
413 | 413 | ||
414 | // Shrink the range to exclude harmful "noises" (#4087, #4450, #5435). | 414 | // Shrink the range to exclude harmful "noises" (http://dev.ckeditor.com/ticket/4087, http://dev.ckeditor.com/ticket/4450, http://dev.ckeditor.com/ticket/5435). |
415 | range.shrink( CKEDITOR.SHRINK_ELEMENT, true ); | 415 | range.shrink( CKEDITOR.SHRINK_ELEMENT, true ); |
416 | 416 | ||
417 | if ( startAtInnerBoundary ) | 417 | if ( startAtInnerBoundary ) |
@@ -437,7 +437,7 @@ | |||
437 | 437 | ||
438 | // We may have an empty text node at the end of block due to [3770]. | 438 | // We may have an empty text node at the end of block due to [3770]. |
439 | // If that node is the lastNode, it would cause our logic to leak to the | 439 | // If that node is the lastNode, it would cause our logic to leak to the |
440 | // next block.(#3887) | 440 | // next block.(http://dev.ckeditor.com/ticket/3887) |
441 | if ( this._.lastNode && this._.lastNode.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.trim( this._.lastNode.getText() ) && this._.lastNode.getParent().isBlockBoundary() ) { | 441 | if ( this._.lastNode && this._.lastNode.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.trim( this._.lastNode.getText() ) && this._.lastNode.getParent().isBlockBoundary() ) { |
442 | var testRange = this.range.clone(); | 442 | var testRange = this.range.clone(); |
443 | testRange.moveToPosition( this._.lastNode, CKEDITOR.POSITION_AFTER_END ); | 443 | testRange.moveToPosition( this._.lastNode, CKEDITOR.POSITION_AFTER_END ); |