resourceloader: Move 'mw.config' assignment from startup.js to mediawiki.js
authorTimo Tijhof <krinklemail@gmail.com>
Thu, 25 Jul 2019 16:46:01 +0000 (17:46 +0100)
committerTimo Tijhof <krinklemail@gmail.com>
Thu, 25 Jul 2019 17:21:51 +0000 (18:21 +0100)
Before this change, the startup module responds as follows:

   ```lang=js
   ... contents of startup/mediawiki.js:
   ...... mw.config = null;
   ...
   ... contents of startup/startup.js:
   ...... mw.config = new mw.Map( bool );
   ```

After this change:

   ```lang=js
   ... contents of startup/mediawiki.js:
   ...... mw.config = new mw.Map( bool );
   ...
   ... contents of startup/startup.js:
   ......
   ```

Change-Id: I97fea20f17c4865aa4740482f3054532038531f0

includes/resourceloader/ResourceLoaderStartUpModule.php
resources/src/startup/mediawiki.js
resources/src/startup/startup.js

index f0ef25a..6b38ee4 100644 (file)
@@ -426,6 +426,9 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        '$VARS.storeEnabled' => ResourceLoader::encodeJsonForScript(
                                $conf->get( 'ResourceLoaderStorageEnabled' ) && !$context->getDebug()
                        ),
+                       '$VARS.wgLegacyJavaScriptGlobals' => ResourceLoader::encodeJsonForScript(
+                               $conf->get( 'LegacyJavaScriptGlobals' )
+                       ),
                        '$VARS.storeKey' => ResourceLoader::encodeJsonForScript( $this->getStoreKey() ),
                        '$VARS.storeVary' => ResourceLoader::encodeJsonForScript( $this->getStoreVary( $context ) ),
                ];
@@ -446,9 +449,6 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
 
                // Perform string replacements for startup.js
                $pairs = [
-                       '$VARS.wgLegacyJavaScriptGlobals' => ResourceLoader::encodeJsonForScript(
-                               $conf->get( 'LegacyJavaScriptGlobals' )
-                       ),
                        '$VARS.configuration' => ResourceLoader::encodeJsonForScript(
                                $this->getConfigSettings( $context )
                        ),
index b2a8f5b..b0355b0 100644 (file)
                 *
                 * @property {mw.Map} config
                 */
-               // Dummy placeholder later assigned in ResourceLoaderStartUpModule
-               config: null,
+               config: new Map( $VARS.wgLegacyJavaScriptGlobals ),
 
                /**
                 * Empty object for third-party libraries, for cases where you don't
index da048ff..06c6737 100644 (file)
@@ -113,7 +113,6 @@ if ( !isCompatible( navigator.userAgent ) ) {
         */
        ( function () {
                /* global mw */
-               mw.config = new mw.Map( $VARS.wgLegacyJavaScriptGlobals );
 
                $CODE.registrations();