From: Timo Tijhof Date: Thu, 16 Aug 2018 20:09:59 +0000 (+0100) Subject: mediawiki.jqueryMsg: Combine the two generated data scripts X-Git-Tag: 1.34.0-rc.0~4403^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/%22%20.%20generer_url_entite%28%24id_rubrique%2C?a=commitdiff_plain;h=39b61487151b5795f9a4cad32d1a37225948ecae;p=lhc%2Fweb%2Fwiklou.git mediawiki.jqueryMsg: Combine the two generated data scripts No need to output two mw.jqueryMsg.setParserDefaults() calls. Follows-up 7e65b6b3a766c1. Also: * Fix an inline comment that referred to a non-existent method. * Document why we pass deep=true. Change-Id: I7414d4188a4d933e2132f80135cbda87241580c0 --- diff --git a/includes/resourceloader/ResourceLoaderJqueryMsgModule.php b/includes/resourceloader/ResourceLoaderJqueryMsgModule.php index bef34f993d..8f4aa3b521 100644 --- a/includes/resourceloader/ResourceLoaderJqueryMsgModule.php +++ b/includes/resourceloader/ResourceLoaderJqueryMsgModule.php @@ -33,8 +33,7 @@ class ResourceLoaderJqueryMsgModule extends ResourceLoaderFileModule { $fileScript = parent::getScript( $context ); $tagData = Sanitizer::getRecognizedTagData(); - $parserDefaults = []; - $parserDefaults['allowedHtmlElements'] = array_merge( + $allowedHtmlElements = array_merge( array_keys( $tagData['htmlpairs'] ), array_diff( array_keys( $tagData['htmlsingle'] ), @@ -42,26 +41,24 @@ class ResourceLoaderJqueryMsgModule extends ResourceLoaderFileModule { ) ); - $mainDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ $parserDefaults ] ); - - // Associative array mapping magic words (e.g. SITENAME) - // to their values. $magicWords = [ 'SITENAME' => $this->getConfig()->get( 'Sitename' ), ]; - Hooks::run( 'ResourceLoaderJqueryMsgModuleMagicWords', [ $context, &$magicWords ] ); - $magicWordExtendData = [ + $parserDefaults = [ + 'allowedHtmlElements' => $allowedHtmlElements, 'magic' => $magicWords, ]; - $magicWordDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ - $magicWordExtendData, - /* deep= */ true + $setDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ + $parserDefaults, + // Pass deep=true because mediawiki.jqueryMsg.js contains + // page-specific magic words that must not be overwritten. + true, ] ); - return $fileScript . $mainDataScript . $magicWordDataScript; + return $fileScript . $setDataScript; } /** diff --git a/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js b/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js index 437800a047..33363cb460 100644 --- a/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js +++ b/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js @@ -20,7 +20,7 @@ }, // Whitelist for allowed HTML elements in wikitext. // Self-closing tags are not currently supported. - // Can be populated via setPrivateData(). + // Can be populated via setParserDefaults(). allowedHtmlElements: [], // Key tag name, value allowed attributes for that tag. // See Sanitizer::setupAttributeWhitelist