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

Revision: 72138
Author:   tparscal
Date:     2010-09-01 18:21:17 +0000 (Wed, 01 Sep 2010)

Log Message:
-----------
Finally, the order is set. Startup loads jquery and mediawiki, raw JS, CSS and 
messages are added, finally a mediaWiki.loader.load call is made and modules 
are downloaded with dependencies resolved.

Modified Paths:
--------------
    branches/resourceloader/phase3/includes/OutputPage.php

Modified: branches/resourceloader/phase3/includes/OutputPage.php
===================================================================
--- branches/resourceloader/phase3/includes/OutputPage.php      2010-09-01 
18:18:04 UTC (rev 72137)
+++ branches/resourceloader/phase3/includes/OutputPage.php      2010-09-01 
18:21:17 UTC (rev 72138)
@@ -2312,19 +2312,12 @@
                global $wgUser, $wgRequest, $wgJsMimeType;
                global $wgStylePath, $wgStyleVersion;
                
+               // Statup - this will immediately load jquery and mediawiki 
modules
                $scripts = self::makeResourceLoaderLink( $sk, 'startup', 
'scripts' );
+               // Configuration
+               $scripts .= Skin::makeGlobalVariablesScript( $sk->getSkinName() 
) . "\n";
                // Support individual script requests in debug mode
                if ( $wgRequest->getBool( 'debug' ) && $wgRequest->getVal( 
'debug' ) !== 'false' ) {
-                       // Configuration
-                       $scripts .= Skin::makeGlobalVariablesScript( 
$sk->getSkinName() ) . "\n";
-                       // Messages
-                       foreach ( $this->getModuleMessages() as $name ) {
-                               $scripts .= self::makeResourceLoaderLink( $sk, 
$name, 'messages' );
-                       }
-                       // Modules
-                       foreach ( $this->getModules() as $name ) {
-                               $scripts .= self::makeResourceLoaderLink( $sk, 
$name );
-                       }
                        // Styles
                        foreach ( $this->getModuleStyles() as $name ) {
                                $scripts .= self::makeResourceLoaderLink( $sk, 
$name, 'styles' );
@@ -2333,17 +2326,11 @@
                        foreach ( $this->getModuleScripts() as $name ) {
                                $scripts .= self::makeResourceLoaderLink( $sk, 
$name, 'scripts' );
                        }
-               } else {
-                       // Configuration
-                       $scripts .= Skin::makeGlobalVariablesScript( 
$sk->getSkinName() ) . "\n";
                        // Messages
-                       if ( count( $this->getModuleMessages() ) ) {
-                               $scripts .= self::makeResourceLoaderLink( $sk, 
$this->getModuleMessages(), 'messages' );
+                       foreach ( $this->getModuleMessages() as $name ) {
+                               $scripts .= self::makeResourceLoaderLink( $sk, 
$name, 'messages' );
                        }
-                       // Modules
-                       if ( count( $this->getModules() ) ) {
-                               $scripts .= self::makeResourceLoaderLink( $sk, 
$this->getModules() );
-                       }
+               } else {
                        // Styles
                        if ( count( $this->getModuleStyles() ) ) {
                                $scripts .= self::makeResourceLoaderLink( $sk, 
$this->getModuleStyles(), 'styles' );
@@ -2352,7 +2339,17 @@
                        if ( count( $this->getModuleScripts() ) ) {
                                $scripts .= self::makeResourceLoaderLink( $sk, 
$this->getModuleScripts(), 'scripts' );
                        }
+                       // Messages
+                       if ( count( $this->getModuleMessages() ) ) {
+                               $scripts .= self::makeResourceLoaderLink( $sk, 
$this->getModuleMessages(), 'messages' );
+                       }
                }
+               if ( $this->getModules() ) {
+                       // Modules - let the client calculate dependencies and 
batch requests as it likes
+                       $scripts .= Html::inlineScript(
+                               'mediaWiki.loader.load( ' . FormatJson::encode( 
$this->getModules() ) . ' )'
+                       );
+               }
                // add user JS if enabled
                if( $this->isUserJsAllowed() && $wgUser->isLoggedIn() ) {
                        $action = $wgRequest->getVal( 'action', 'view' );



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

Reply via email to