Changeset 4767


Ignore:
Timestamp:
12/20/09 17:23:49 (5 years ago)
Author:
garry.yao
Message:

Better performance results for convertToPx method.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/paste/_source/plugins/pastefromword/filter/default.js

    r4766 r4767  
    238238                        }, 
    239239 
    240                         convertToPx : function( cssLength ) 
     240                        // Convert various length units to 'px' in ignorance of DPI. 
     241                        convertToPx : ( function () 
    241242                        { 
    242                                 // Convert to 'px' in ignorance of DPI. 
    243                                 if( cssLengthRelativeUnit.test( cssLength ) ) 
    244                                 { 
    245                                         var val, 
    246                                                 calculator = CKEDITOR.dom.element.createFromHtml( 
    247                                                                                 '<div style="position:absolute;left:-9999px;' + 
    248                                                                                 'top:-9999px;margin:0px;padding:0px;border:0px;' + 
    249                                                                                 'width:' + cssLength + '" ' + 
    250                                                                                 '></div>' ); 
    251                                         CKEDITOR.document.getBody().append( calculator ); 
    252                                         val = calculator.$.clientWidth; 
    253                                         calculator.remove(); 
    254                                         return val + 'px'; 
    255                                 } 
    256                                 return cssLength; 
    257                         }, 
     243                                var calculator = CKEDITOR.dom.element.createFromHtml( 
     244                                                                '<div style="position:absolute;left:-9999px;' + 
     245                                                                'top:-9999px;margin:0px;padding:0px;border:0px;"' + 
     246                                                                '></div>', CKEDITOR.document ); 
     247                                CKEDITOR.document.getBody().append( calculator ); 
     248 
     249                                return function( cssLength ) 
     250                                { 
     251                                        if( cssLength.indexOf( '%' ) == -1 ) 
     252                                        { 
     253                                                calculator.setStyle( 'width', cssLength ); 
     254                                                return calculator.$.clientWidth + 'px'; 
     255                                        } 
     256                                         
     257                                        return cssLength; 
     258                                }; 
     259                        } )(), 
    258260 
    259261                        listDtdParents : CKEDITOR.dtd.parentOf( 'ol' ) 
     
    10261028                editor.fire( 'beforeCleanWord', { filter : dataFilter } ); 
    10271029 
     1030                console.time( 'word clean' ); 
    10281031                data = dataProcessor.toHtml( data, false ); 
     1032                console.timeEnd( 'word clean' ); 
    10291033 
    10301034                /* Below post processing those things that are unable to delivered by filter rules. */ 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy