From: Roan Kattouw Date: Thu, 18 Jul 2019 21:48:42 +0000 (-0700) Subject: resourceloader: Add Config parameter to packageFiles callbacks X-Git-Tag: 1.34.0-rc.0~950^2 X-Git-Url: http://git.cyclocoop.org/%27%40script%40/%27puce.gif/%28?a=commitdiff_plain;h=f2ae03a736408e4544e44a2ad85f946ace29af66;p=lhc%2Fweb%2Fwiklou.git resourceloader: Add Config parameter to packageFiles callbacks Callbacks used to generate the contents of virtual files in packageFiles modules only received a ResourceLoaderContext object. They could access the Config object through ResourceLoaderContext::getConfig(), but that method is deprecated. Pass the Config object as a second parameter to these callbacks, so that they don't have to use a deprecated method. Change-Id: Ia4666914e9b07f298ee5ae30ae8c70a3e83b0910 --- diff --git a/includes/resourceloader/ResourceLoaderFileModule.php b/includes/resourceloader/ResourceLoaderFileModule.php index fbc59fe0f4..af303138f6 100644 --- a/includes/resourceloader/ResourceLoaderFileModule.php +++ b/includes/resourceloader/ResourceLoaderFileModule.php @@ -1159,11 +1159,12 @@ class ResourceLoaderFileModule extends ResourceLoaderModule { throw new MWException( __METHOD__ . ": invalid versionCallback for file" . " \"{$fileInfo['name']}\" in module \"{$this->getName()}\"" ); } - $expanded['definitionSummary'] = ( $fileInfo['versionCallback'] )( $context ); + $expanded['definitionSummary'] = + ( $fileInfo['versionCallback'] )( $context, $this->getConfig() ); // Don't invoke 'callback' here as it may be expensive (T223260). $expanded['callback'] = $fileInfo['callback']; } else { - $expanded['content'] = ( $fileInfo['callback'] )( $context ); + $expanded['content'] = ( $fileInfo['callback'] )( $context, $this->getConfig() ); } } elseif ( isset( $fileInfo['config'] ) ) { if ( $type !== 'data' ) { @@ -1240,7 +1241,7 @@ class ResourceLoaderFileModule extends ResourceLoaderModule { $fileInfo['content'] = $content; unset( $fileInfo['filePath'] ); } elseif ( isset( $fileInfo['callback'] ) ) { - $fileInfo['content'] = ( $fileInfo['callback'] )( $context ); + $fileInfo['content'] = ( $fileInfo['callback'] )( $context, $this->getConfig() ); unset( $fileInfo['callback'] ); } diff --git a/resources/Resources.php b/resources/Resources.php index 6298086a21..9455994419 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1526,7 +1526,9 @@ return [ 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.jqueryMsg", 'packageFiles' => [ 'mediawiki.jqueryMsg.js', - [ 'name' => 'parserDefaults.json', 'callback' => function ( ResourceLoaderContext $context ) { + [ 'name' => 'parserDefaults.json', 'callback' => function ( + ResourceLoaderContext $context, Config $config + ) { $tagData = Sanitizer::getRecognizedTagData(); $allowedHtmlElements = array_merge( array_keys( $tagData['htmlpairs'] ), @@ -1537,7 +1539,7 @@ return [ ); $magicWords = [ - 'SITENAME' => $context->getConfig()->get( 'Sitename' ), + 'SITENAME' => $config->get( 'Sitename' ), ]; Hooks::run( 'ResourceLoaderJqueryMsgModuleMagicWords', [ $context, &$magicWords ] );