Changeset 7560


Ignore:
Timestamp:
07/12/2012 06:50:55 PM (3 years ago)
Author:
garry.yao
Message:

Re-fixed #8978, not to use IE native bookmark, which is known to be buggy on old IEs, from #9116.

Location:
CKEditor/trunk/_source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/_source/core/dom/range.js

    r7538 r7560  
    18441844                        }
    18451845
    1846                         // Antecipate the trim() call here, so the walker will not make
    1847                         // changes to the DOM, which would not get reflected into this
    1848                         // range otherwise.
    1849                         this.trim();
    1850 
    18511846                        // We need to grab the block element holding the start boundary, so
    18521847                        // let's use an element path for it.
     
    18771872                                        return false;
    18781873                        }
    1879 
    1880                         // Antecipate the trim() call here, so the walker will not make
    1881                         // changes to the DOM, which would not get reflected into this
    1882                         // range otherwise.
    1883                         this.trim();
    18841874
    18851875                        // We need to grab the block element holding the start boundary, so
  • CKEditor/trunk/_source/plugins/selection/plugin.js

    r7556 r7560  
    280280                                                // than firing the selection change event.
    281281
    282                                                 var savedBookmark,
     282                                                var savedRange,
    283283                                                        saveEnabled,
    284284                                                        restoreEnabled = 1;
     
    295295
    296296                                                                // Give the priority to locked selection since it probably
    297                                                                 // reflects the actual situation. (#6083, #6987)
     297                                                                // reflects the actual situation, besides locked selection
     298                                                                // could be interfered because of text nodes normalizing.
     299                                                                // (#6083, #6987)
    298300                                                                var lockedSelection = doc.getCustomData( 'cke_locked_selection' );
    299301                                                                if ( lockedSelection )
     
    304306                                                                // Then check ff we have saved a range, restore it at this
    305307                                                                // point.
    306                                                                 else if ( savedBookmark && restoreEnabled )
     308                                                                else if ( savedRange && restoreEnabled )
    307309                                                                {
    308                                                                         var range = doc.getSelection().getNative().createRange();
    309                                                                         range.moveToBookmark( savedBookmark );
    310310                                                                        // Well not break because of this.
    311                                                                         try { range.select(); } catch (e) {}
    312                                                                         savedBookmark = null;
     311                                                                        try { savedRange.select(); } catch (e) {}
     312                                                                        savedRange = null;
    313313                                                                }
    314314                                                        });
     
    540540                                                                }
    541541
    542                                                                 // Create an IE Range bookmark to defeat possible text node normalization.
    543                                                                 try { savedBookmark = nativeSel && nativeSel.createRange().getBookmark(); }
    544                                                                 catch(er){}
     542                                                                savedRange = nativeSel && sel.getRanges()[ 0 ];
    545543
    546544                                                                checkSelectionChangeTimeout.call( editor );
     
    14541452                                        this.reset();
    14551453
    1456                                         doc.getBody().focus();
    1457 
    14581454                                        if ( selectedElement )
    14591455                                                this.selectElement( selectedElement );
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy