Changeset 10149

Show
Ignore:
Timestamp:
08/12/07 17:04:02 (16 months ago)
Author:
alex
Message:

size optimizations for loader. Refs #3961

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • dojo/trunk/_base/_loader/loader.js

    r10022 r10149  
    356356 
    357357        //Make sure we have a string. 
    358         var fullPkgName = String(packageName); 
     358        var fullPkgName = packageName+""; 
    359359        var strippedPkgName = fullPkgName; 
    360360 
     
    530530 
    531531                        // Safari doesn't support this.constructor so we have to be explicit 
     532                        // FIXME: Tracked (and fixed) in Webkit bug 3537. 
     533                        //              http://bugs.webkit.org/show_bug.cgi?id=3537 
    532534                        var relobj = new dojo._Url(_a[i]+""); 
    533535                        var uriobj = new dojo._Url(uri+""); 
     
    539541                                (!relobj.query) 
    540542                        ){ 
    541                                 if(relobj.fragment != null){ 
     543                                if(relobj.fragment != n){ 
    542544                                        uriobj.fragment = relobj.fragment; 
    543545                                } 
    544546                                relobj = uriobj; 
    545                         }else if(relobj.scheme == null){ 
     547                        }else if(!relobj.scheme){ 
    546548                                relobj.scheme = uriobj.scheme; 
    547549 
    548                                 if(relobj.authority == null){ 
     550                                if(!relobj.authority){ 
    549551                                        relobj.authority = uriobj.authority; 
    550552 
     
    556558                                                for(var j = 0; j < segs.length; j++){ 
    557559                                                        if(segs[j] == "."){ 
    558                                                                 if (j == segs.length - 1) { segs[j] = ""; } 
    559                                                                 else { segs.splice(j, 1); j--; } 
     560                                                                if(j == segs.length - 1){ 
     561                                                                        segs[j] = ""; 
     562                                                                }else{ 
     563                                                                        segs.splice(j, 1); 
     564                                                                        j--; 
     565                                                                } 
    560566                                                        }else if(j > 0 && !(j == 1 && segs[0] == "") && 
    561567                                                                segs[j] == ".." && segs[j-1] != ".."){ 
    562568 
    563569                                                                if(j == (segs.length - 1)){ 
    564                                                                         segs.splice(j, 1); segs[j - 1] = ""; 
     570                                                                        segs.splice(j, 1); 
     571                                                                        segs[j - 1] = ""; 
    565572                                                                }else{ 
    566                                                                         segs.splice(j - 1, 2); j -= 2; 
     573                                                                        segs.splice(j - 1, 2); 
     574                                                                        j -= 2; 
    567575                                                                } 
    568576                                                        } 
     
    574582 
    575583                        uri = ""; 
    576                         if(relobj.scheme != null){  
     584                        if(relobj.scheme){  
    577585                                uri += relobj.scheme + ":"; 
    578586                        } 
    579                         if(relobj.authority != null){ 
     587                        if(relobj.authority){ 
    580588                                uri += "//" + relobj.authority; 
    581589                        } 
    582590                        uri += relobj.path; 
    583                         if(relobj.query != null){ 
     591                        if(relobj.query){ 
    584592                                uri += "?" + relobj.query; 
    585593                        } 
    586                         if(relobj.fragment != null){ 
     594                        if(relobj.fragment){ 
    587595                                uri += "#" + relobj.fragment; 
    588596                        } 
     
    594602                var r = this.uri.match(ore); 
    595603 
    596                 this.scheme = r[2] || (r[1] ? "" : null); 
    597                 this.authority = r[4] || (r[3] ? "" : null); 
     604                this.scheme = r[2] || (r[1] ? "" : n); 
     605                this.authority = r[4] || (r[3] ? "" : n); 
    598606                this.path = r[5]; // can never be undefined 
    599                 this.query = r[7] || (r[6] ? "" : null); 
    600                 this.fragment  = r[9] || (r[8] ? "" : null); 
    601  
    602                 if(this.authority != null){ 
     607                this.query = r[7] || (r[6] ? "" : n); 
     608                this.fragment  = r[9] || (r[8] ? "" : n); 
     609 
     610                if(this.authority != n){ 
    603611                        // server based naming authority 
    604612                        r = this.authority.match(ire); 
    605613 
    606                         this.user = r[3] || null; 
    607                         this.password = r[4] || null; 
     614                        this.user = r[3] || n; 
     615                        this.password = r[4] || n; 
    608616                        this.host = r[5]; 
    609                         this.port = r[7] || null; 
     617                        this.port = r[7] || n; 
    610618                } 
    611619        }