Changeset 7560


Ignore:
Timestamp:
07/12/2012 06:50:55 PM (2 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