resourceloader: Use createLoaderURL() in getStartupModulesUrl()
authorTimo Tijhof <krinklemail@gmail.com>
Wed, 7 Sep 2016 02:31:22 +0000 (19:31 -0700)
committerTimo Tijhof <krinklemail@gmail.com>
Wed, 7 Sep 2016 02:34:26 +0000 (19:34 -0700)
Avoid manually crafting a url. The packing logic and key sorting logic
is already in this method and keeps it central that way.

Test plan:
* Check output of /w/load.php?modules=startup&only=scripts.
  This is used to construct the url to 'jquery%2Cmediawiki'.
  No change in output.

Change-Id: I51ba51b6e74d78761108341c0ee318699ca7952f

includes/resourceloader/ResourceLoaderStartUpModule.php

index eb9788c..c854fa2 100644 (file)
@@ -313,17 +313,14 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                $rl = $context->getResourceLoader();
                $moduleNames = self::getStartupModules();
 
-               $query = [
-                       'modules' => ResourceLoader::makePackedModulesString( $moduleNames ),
-                       'only' => 'scripts',
-                       'lang' => $context->getLanguage(),
-                       'skin' => $context->getSkin(),
-                       'debug' => $context->getDebug() ? 'true' : 'false',
-                       'version' => $rl->getCombinedVersion( $context, $moduleNames ),
-               ];
-               // Ensure uniform query order
-               ksort( $query );
-               return wfAppendQuery( wfScript( 'load' ), $query );
+               $derivative = new DerivativeResourceLoaderContext( $context );
+               $derivative->setModules( $moduleNames );
+               $derivative->setOnly( 'scripts' );
+               $derivative->setVersion(
+                       $rl->getCombinedVersion( $context, $moduleNames )
+               );
+
+               return $rl->createLoaderURL( 'local', $derivative );
        }
 
        /**