| 661 | /* |
| 662 | * Find out the style ancestor that needs to be broken down at startNode |
| 663 | * and endNode. |
| 664 | */ |
| 665 | function breakNodes() |
| 666 | { |
| 667 | var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ), |
| 668 | endPath = endNode && new CKEDITOR.dom.elementPath( endNode.getParent() ), |
| 669 | breakStart = null, |
| 670 | breakEnd = null; |
| 671 | for ( var i = 0 ; i < startPath.elements.length ; i++ ) |
| 672 | { |
| 673 | var element = startPath.elements[ i ]; |
| 674 | |
| 675 | if ( element == startPath.block || element == startPath.blockLimit ) |
| 676 | break; |
| 677 | |
| 678 | if ( me.checkElementRemovable( element ) ) |
| 679 | breakStart = element; |
| 680 | } |
| 681 | for ( i = 0 ; endPath && i < endPath.elements.length ; i++ ) |
| 682 | { |
| 683 | element = endPath.elements[ i ]; |
| 684 | |
| 685 | if ( element == endPath.block || element == endPath.blockLimit ) |
| 686 | break; |
| 687 | |
| 688 | if ( me.checkElementRemovable( element ) ) |
| 689 | breakEnd = element; |
| 690 | } |
| 691 | |
| 692 | if ( breakEnd ) |
| 693 | endNode.breakParent( breakEnd ); |
| 694 | if ( breakStart ) |
| 695 | startNode.breakParent( breakStart ); |
| 696 | } |
| 697 | |
737 | | var endNode = bookmark.endNode, |
738 | | me = this; |
739 | | |
740 | | /* |
741 | | * Find out the style ancestor that needs to be broken down at startNode |
742 | | * and endNode. |
743 | | */ |
744 | | function breakNodes() |
745 | | { |
746 | | var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ), |
747 | | endPath = new CKEDITOR.dom.elementPath( endNode.getParent() ), |
748 | | breakStart = null, |
749 | | breakEnd = null; |
750 | | for ( var i = 0 ; i < startPath.elements.length ; i++ ) |
751 | | { |
752 | | var element = startPath.elements[ i ]; |
753 | | |
754 | | if ( element == startPath.block || element == startPath.blockLimit ) |
755 | | break; |
756 | | |
757 | | if ( me.checkElementRemovable( element ) ) |
758 | | breakStart = element; |
759 | | } |
760 | | for ( i = 0 ; i < endPath.elements.length ; i++ ) |
761 | | { |
762 | | element = endPath.elements[ i ]; |
763 | | |
764 | | if ( element == endPath.block || element == endPath.blockLimit ) |
765 | | break; |
766 | | |
767 | | if ( me.checkElementRemovable( element ) ) |
768 | | breakEnd = element; |
769 | | } |
770 | | |
771 | | if ( breakEnd ) |
772 | | endNode.breakParent( breakEnd ); |
773 | | if ( breakStart ) |
774 | | startNode.breakParent( breakStart ); |
775 | | } |