Merge "Add $revision to TitleMoveCompleting for completeness"
[lhc/web/wiklou.git] / includes / resourceloader / ResourceLoaderStartUpModule.php
index 4a672f2..fc128fb 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Module for resource loader initialization.
+ * Module for ResourceLoader initialization.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -104,6 +104,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        'wgResourceLoaderLegacyModules' => self::getLegacyModules(),
                        'wgForeignUploadTargets' => $conf->get( 'ForeignUploadTargets' ),
                        'wgEnableUploads' => $conf->get( 'EnableUploads' ),
+                       'wgForeignUploadTestEnabled' => $conf->get( 'ForeignUploadTestEnabled' ),
+                       'wgForeignUploadTestDefault' => $conf->get( 'ForeignUploadTestDefault' ),
                );
 
                Hooks::run( 'ResourceLoaderGetConfigVars', array( &$vars ) );
@@ -163,13 +165,9 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
         *  - array 'dependencies'
         *  - string|null 'group'
         *  - string 'source'
-        *  - string|false 'loader'
         */
        public static function compileUnresolvedDependencies( array &$registryData ) {
                foreach ( $registryData as $name => &$data ) {
-                       if ( $data['loader'] !== false ) {
-                               continue;
-                       }
                        $dependencies = $data['dependencies'];
                        foreach ( $data['dependencies'] as $dependency ) {
                                $implicitDependencies = self::getImplicitDependencies( $registryData, $dependency );
@@ -191,8 +189,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
 
                $resourceLoader = $context->getResourceLoader();
                $target = $context->getRequest()->getVal( 'target', 'desktop' );
-               // Bypass target filter if this request is from a unit test context. To prevent misuse in
-               // production, this is only allowed if testing is enabled server-side.
+               // Bypass target filter if this request is Special:JavaScriptTest.
+               // To prevent misuse in production, this is only allowed if testing is enabled server-side.
                $byPassTargetFilter = $this->getConfig()->get( 'EnableJavaScriptTest' ) && $target === 'test';
 
                $out = '';
@@ -215,6 +213,13 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
 
                        $versionHash = $module->getVersionHash( $context );
                        if ( strlen( $versionHash ) !== 8 ) {
+                               $context->getLogger()->warning(
+                                       "Module '{module}' produced an invalid version hash: '{version}'.",
+                                       array(
+                                               'module' => $name,
+                                               'version' => $versionHash,
+                                       )
+                               );
                                // Module implementation either broken or deviated from ResourceLoader::makeHash
                                // Asserted by tests/phpunit/structure/ResourcesTest.
                                $versionHash = ResourceLoader::makeHash( $versionHash );
@@ -230,7 +235,6 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                                'dependencies' => $module->getDependencies( $context ),
                                'group' => $module->getGroup(),
                                'source' => $module->getSource(),
-                               'loader' => $module->getLoaderScript(),
                                'skip' => $skipFunction,
                        );
                }
@@ -240,22 +244,9 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                // Register sources
                $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
 
-               // Concatenate module loader scripts and figure out the different call
-               // signatures for mw.loader.register
+               // Figure out the different call signatures for mw.loader.register
                $registrations = array();
                foreach ( $registryData as $name => $data ) {
-                       if ( $data['loader'] !== false ) {
-                               $out .= ResourceLoader::makeCustomLoaderScript(
-                                       $name,
-                                       $data['version'],
-                                       $data['dependencies'],
-                                       $data['group'],
-                                       $data['source'],
-                                       $data['loader']
-                               );
-                               continue;
-                       }
-
                        // Call mw.loader.register(name, version, dependencies, group, source, skip)
                        $registrations[] = array(
                                $name,