Merge "mw.loader: Omit private modules from the request queue"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 26 Jun 2015 04:18:07 +0000 (04:18 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 26 Jun 2015 04:18:07 +0000 (04:18 +0000)
resources/src/mediawiki/mediawiki.js

index ec3c0c3..a815c99 100644 (file)
 
                                $.each( dependencies, function ( idx, module ) {
                                        var state = mw.loader.getState( module );
+                                       // Only queue modules that are still in the initial 'registered' state
+                                       // (not ones already loading, ready or error).
                                        if ( state === 'registered' && $.inArray( module, queue ) === -1 ) {
+                                               // Private modules must be embedded in the page. Don't bother queuing
+                                               // these as the server will deny them anyway (T101806).
+                                               if ( registry[module].group === 'private' ) {
+                                                       registry[module].state = 'error';
+                                                       handlePending( module );
+                                                       return;
+                                               }
                                                queue.push( module );
                                                if ( async ) {
                                                        registry[module].async = true;