From: Fomafix Date: Fri, 28 Jun 2019 13:06:42 +0000 (+0200) Subject: resourceloader: Set value for getVary in server-side X-Git-Tag: 1.34.0-rc.0~1170^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/pie.php?a=commitdiff_plain;h=0a8e37f042c2c;p=lhc%2Fweb%2Fwiklou.git resourceloader: Set value for getVary in server-side This change makes ResourceLoaderStorageVersion a private variable. The JavaScript global variable wgResourceLoaderStorageVersion is now removed. This change makes the JavaScript code smaller. Change-Id: I8e31b95d4c44ba653bedb6be500011a39bc6abd8 --- diff --git a/includes/resourceloader/ResourceLoaderStartUpModule.php b/includes/resourceloader/ResourceLoaderStartUpModule.php index f0de411f84..41e66effd4 100644 --- a/includes/resourceloader/ResourceLoaderStartUpModule.php +++ b/includes/resourceloader/ResourceLoaderStartUpModule.php @@ -105,7 +105,6 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { 'wgCaseSensitiveNamespaces' => $caseSensitiveNamespaces, 'wgLegalTitleChars' => Title::convertByteClassToUnicodeClass( Title::legalChars() ), 'wgIllegalFileChars' => Title::convertByteClassToUnicodeClass( $illegalFileChars ), - 'wgResourceLoaderStorageVersion' => $conf->get( 'ResourceLoaderStorageVersion' ), 'wgResourceLoaderStorageEnabled' => $conf->get( 'ResourceLoaderStorageEnabled' ), 'wgForeignUploadTargets' => $conf->get( 'ForeignUploadTargets' ), 'wgEnableUploads' => $conf->get( 'EnableUploads' ), @@ -367,6 +366,20 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { return $baseModules; } + /** + * Get the key on which the JavaScript module cache (mw.loader.store) will vary. + * + * @param ResourceLoaderContext $context + * @return string String of concatenated vary conditions + */ + private function getStoreVary( ResourceLoaderContext $context ) { + return implode( ':', [ + $context->getSkin(), + $this->getConfig()->get( 'ResourceLoaderStorageVersion' ), + $context->getLanguage(), + ] ); + } + /** * @param ResourceLoaderContext $context * @return string JavaScript code @@ -399,6 +412,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { '$VARS.maxQueryLength' => ResourceLoader::encodeJsonForScript( $conf->get( 'ResourceLoaderMaxQueryLength' ) ), + '$VARS.storeVary' => ResourceLoader::encodeJsonForScript( $this->getStoreVary( $context ) ), ]; $profilerStubs = [ '$CODE.profileExecuteStart();' => 'mw.loader.profiler.onExecuteStart( module );', diff --git a/resources/src/startup/mediawiki.js b/resources/src/startup/mediawiki.js index 2976dca849..1583445eb1 100644 --- a/resources/src/startup/mediawiki.js +++ b/resources/src/startup/mediawiki.js @@ -2170,9 +2170,7 @@ * @return {string} String of concatenated vary conditions. */ getVary: function () { - return mw.config.get( 'skin' ) + ':' + - mw.config.get( 'wgResourceLoaderStorageVersion' ) + ':' + - mw.config.get( 'wgUserLanguage' ); + return $VARS.storeVary; }, /**