http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73424

Revision: 73424
Author:   tparscal
Date:     2010-09-20 23:32:28 +0000 (Mon, 20 Sep 2010)

Log Message:
-----------
Implemented request grouping on the client.

Modified Paths:
--------------
    trunk/phase3/resources/mediawiki/mediawiki.js

Modified: trunk/phase3/resources/mediawiki/mediawiki.js
===================================================================
--- trunk/phase3/resources/mediawiki/mediawiki.js       2010-09-20 23:31:56 UTC 
(rev 73423)
+++ trunk/phase3/resources/mediawiki/mediawiki.js       2010-09-20 23:32:28 UTC 
(rev 73424)
@@ -502,16 +502,27 @@
                                                );
                                        }
                                } else {
-                                       // Calculate the highest timestamp
-                                       var version = 0;
+                                       // Split into groups
+                                       var groups = {};
                                        for ( var b = 0; b < batch.length; b++ 
) {
-                                               if ( registry[batch[b]].version 
> version ) {
-                                                       version = 
registry[batch[b]].version;
+                                               var group = 
registry[batch[b]].group;
+                                               if ( !( group in groups ) ) {
+                                                       groups[group] = [];
                                                }
+                                               
groups[group][groups[group].length] = batch[b];
                                        }
-                                       requests[requests.length] = $.extend(
-                                               { 'modules': batch.join( '|' ), 
'version': formatVersionNumber( version ) }, base
-                                       );
+                                       for ( var group in groups ) {
+                                               // Calculate the highest 
timestamp
+                                               var version = 0;
+                                               for ( var g = 0; g < 
groups[group].length; g++ ) {
+                                                       if ( 
registry[groups[group][g]].version > version ) {
+                                                               version = 
registry[groups[group][g]].version;
+                                                       }
+                                               }
+                                               requests[requests.length] = 
$.extend(
+                                                       { 'modules': 
groups[group].join( '|' ), 'version': formatVersionNumber( version ) }, base
+                                               );
+                                       }
                                }
                                // Clear the batch - this MUST happen before we 
append the script element to the body or it's
                                // possible that the script will be locally 
cached, instantly load, and work the batch again,



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to