From a129d68344ff6eb8e42f56b6ad1efc9dcd32d73f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Tue, 30 Jan 2018 12:12:46 +0100 Subject: [PATCH] resourceloader: Move FILTER_NOMIN annotation to the beginning of output This allows ResourceLoader::filter() to handle this case slightly faster, since it searches for this annotation from the beginning. In practice this is a negligible performance optimization, but let's set a good example for the future. Also tweak the comments and whitespace: * Move comment about the FILTER_NOMIN from doc comment to code comment, it's an implementation detail and not meant for public documentation * Remove duplicated documentation from the parent class * Change whitespace to be identical in both cases Change-Id: I624914ff28d903027ba58710708ccc3c66af9e24 --- .../resourceloader/ResourceLoaderUserOptionsModule.php | 6 ++++-- .../resourceloader/ResourceLoaderUserTokensModule.php | 9 +++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/includes/resourceloader/ResourceLoaderUserOptionsModule.php b/includes/resourceloader/ResourceLoaderUserOptionsModule.php index 458c44d6e7..ffa55c08ac 100644 --- a/includes/resourceloader/ResourceLoaderUserOptionsModule.php +++ b/includes/resourceloader/ResourceLoaderUserOptionsModule.php @@ -51,10 +51,12 @@ class ResourceLoaderUserOptionsModule extends ResourceLoaderModule { * @return string JavaScript code */ public function getScript( ResourceLoaderContext $context ) { - return Xml::encodeJsCall( 'mw.user.options.set', + // Use FILTER_NOMIN annotation to prevent needless minification and caching (T84960). + return ResourceLoader::FILTER_NOMIN . Xml::encodeJsCall( + 'mw.user.options.set', [ $context->getUserObj()->getOptions( User::GETOPTIONS_EXCLUDE_DEFAULTS ) ], ResourceLoader::inDebugMode() - ) . ResourceLoader::FILTER_NOMIN; + ); } /** diff --git a/includes/resourceloader/ResourceLoaderUserTokensModule.php b/includes/resourceloader/ResourceLoaderUserTokensModule.php index e933f1f34d..ae4fb67b8d 100644 --- a/includes/resourceloader/ResourceLoaderUserTokensModule.php +++ b/includes/resourceloader/ResourceLoaderUserTokensModule.php @@ -48,19 +48,16 @@ class ResourceLoaderUserTokensModule extends ResourceLoaderModule { } /** - * Generate the JavaScript content of this module. - * - * Add FILTER_NOMIN annotation to prevent needless minification and caching (T84960). - * * @param ResourceLoaderContext $context * @return string JavaScript code */ public function getScript( ResourceLoaderContext $context ) { - return Xml::encodeJsCall( + // Use FILTER_NOMIN annotation to prevent needless minification and caching (T84960). + return ResourceLoader::FILTER_NOMIN . Xml::encodeJsCall( 'mw.user.tokens.set', [ $this->contextUserTokens( $context ) ], ResourceLoader::inDebugMode() - ) . ResourceLoader::FILTER_NOMIN; + ); } /** -- 2.20.1