MediaWiki r69064 - Code Review

Jump to: navigation, search
Repository:MediaWiki
Revision:r69063‎ | r69064 (on ViewVC)‎ | r69065 >
Date:19:21, 5 July 2010
Author:dale
Status:deferred
Tags:
Comment:
bug 24268 use for(var i=0; type loop for array iteration as to not iterate extended array prototypes.
Modified paths:

Diff [purge]

Index: branches/MwEmbedStandAlone/mwEmbed.js
@@ -309,8 +309,12 @@
310310 * @param {Function} callback Function called once loading is complete
311311 *
312312 */
313 - load: function( loadRequest, instanceCallback ) {
 313+ load: function( loadRequest, instanceCallback ) {
314314 //mw.log("mw.load:: " + loadRequest );
 315+
 316+ // Throw out any loadRequests that are not strings
 317+ loadRequest = this.cleanLoadRequest( loadRequest );
 318+
315319 // Ensure the callback is only called once per load instance
316320 var callback = function(){
317321 //mw.log( 'instanceCallback::running callback: ' + instanceCallback );
@@ -320,8 +324,8 @@
321325 instanceCallback( loadRequest );
322326 instanceCallback = null;
323327 }
324 - }
325 -
 328+ }
 329+
326330 // Check for empty loadRequest ( directly return the callback )
327331 if( mw.isEmpty( loadRequest ) ) {
328332 mw.log( 'Empty load request: ( ' + loadRequest + ' ) ' );
@@ -394,8 +398,26 @@
395399 }
396400 return false;
397401 },
398 -
 402+
399403 /**
 404+ * Clean the loadRequest ( throw out any non-string items )
 405+ */
 406+ cleanLoadRequest: function( loadRequest ){
 407+ var cleanRequest = [];
 408+ if( typeof loadRequest == 'string' )
 409+ return loadRequest;
 410+ for( var i =0;i < loadRequest.length; i++ ){
 411+ if( typeof loadRequest[i] == 'object' ) {
 412+ cleanRequest[i] = this.cleanLoadRequest( loadRequest[i] );
 413+ } else if( typeof loadRequest[i] == 'string' ){
 414+ cleanRequest[i] = $j.trim( loadRequest[i] );
 415+ } else{
 416+ // bad request type skip
 417+ }
 418+ }
 419+ return cleanRequest;
 420+ },
 421+ /**
400422 * Load a set of scripts.
401423 * Will issue many load requests or package the request for the resource loader
402424 *
@@ -579,8 +601,7 @@
580602 */
581603 runModuleLoadQueue: function(){
582604 var _this = this;
583 - mw.log( "mw.runModuleLoadQueue:: " );
584 - var cat = _this.moduleLoadQueue;
 605+ mw.log( "mw.runModuleLoadQueue:: " );
585606 var runModuleFunctionQueue = function(){
586607 // Run all the callbacks
587608 for( var moduleName in _this.moduleLoadQueue ){
@@ -616,7 +637,7 @@
617638 // ( in IE we have to wait until its "ready" since it does not follow dom order )
618639 var moduleResourceList = this.getFlatModuleResourceList( moduleName );
619640 // Build the sharedResourceList
620 - for( var i in moduleResourceList ){
 641+ for( var i=0; i < moduleResourceList.length; i++ ){
621642 var moduleResource = moduleResourceList[i];
622643 // Check if already in the full resource list if so add to shared.
623644 if( fullResourceList[ moduleResource ] ){
@@ -630,13 +651,13 @@
631652 }
632653
633654 // Local module request set ( stores the actual request we will make after grouping shared resources
634 - var moduleRequestSet = [];
 655+ var moduleRequestSet = {};
635656
636657 // Only add non-shared to respective modules load requests
637658 for( var moduleName in this.moduleLoadQueue ) {
638659 moduleRequestSet[ moduleName ] = [];
639660 var moduleResourceList = this.getFlatModuleResourceList( moduleName );
640 - for( var i in moduleResourceList ){
 661+ for( var i =0; i < moduleResourceList.length; i++ ){
641662 var moduleResource = moduleResourceList[i];
642663 if( $j.inArray( moduleResource, sharedResourceList ) == -1 ){
643664 moduleRequestSet[ moduleName ].push( moduleResource );
@@ -666,11 +687,11 @@
667688
668689 // Load the shared resources
669690 mw.load( sharedResourceList, function(){
670 - mw.log("Shared Resources loaded");
 691+ //mw.log("Shared Resources loaded");
671692 // xxx check if we are in "IE" and dependencies need to be loaded "first"
672693 sharedResourceLoadDone = true;
673694 checkModulesDone();
674 - });
 695+ });
675696 // Load all module Request Set
676697 for( var moduleName in moduleRequestSet ){
677698 localLoadCallInstance( moduleName, moduleRequestSet[ moduleName ] );
Index: branches/MwEmbedStandAlone/modules/TimedText/loader.js
@@ -71,10 +71,9 @@
7272
7373 // Add timed text items if flag set.
7474 // its oky if we merge in multiple times the loader can handle it
75 - if( mwLoadTimedTextFlag ) {
 75+ if( mwLoadTimedTextFlag ) {
7676 $j.merge( classRequest, mwTimedTextRequestSet );
7777 }
78 -
7978 } );
8079
8180
Index: branches/MwEmbedStandAlone/modules/AddMedia/tests/Firefogg_GUI.html
@@ -28,9 +28,9 @@
2929 langKey = 'en';
3030 }
3131
32 - document.write( '<script type="text/javascript" src="../../../ResourceLoader.php?class=window.jQuery,mwEmbed,mw.style.mwCommon&uselang=' + langKey + '"><\/script>' );
 32+ document.write( '<script type="text/javascript" src="../../../ResourceLoader.php?class=window.jQuery,mwEmbed,mw.style.mwCommon&uselang=' + langKey + '&debug=true"><\/script>' );
3333 </script>
34 - <!-- <script type="text/javascript" src="../../../mwEmbed.js?debug=true"></script> -->
 34+ <!-- <script type="text/javascript" src="../../../mwEmbed.js?debug=true"></script> -->
3535 <style type="text/css" media="all">
3636 body {
3737 margin: 0;

Status & tagging log

  • 14:00, 3 September 2010 ^demon (talk | contribs) changed the status of r69064 [removed: new added: deferred]