From 4821c63624e123043bddc54293cf6a286505955e Mon Sep 17 00:00:00 2001 From: Fomafix Date: Mon, 24 Jun 2019 16:47:23 +0200 Subject: [PATCH] resourceloader: Add method ResourceLoaderModule::getVary Change-Id: I79cd3ad7ad65533717bab52462ffaab5b2179789 --- includes/resourceloader/ResourceLoader.php | 3 +-- .../resourceloader/ResourceLoaderModule.php | 20 ++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php index 8ce4ab9036..387e3449cf 100644 --- a/includes/resourceloader/ResourceLoader.php +++ b/includes/resourceloader/ResourceLoader.php @@ -118,11 +118,10 @@ class ResourceLoader implements LoggerAwareInterface { return; } $dbr = wfGetDB( DB_REPLICA ); - $skin = $context->getSkin(); $lang = $context->getLanguage(); // Batched version of ResourceLoaderModule::getFileDependencies - $vary = "$skin|$lang"; + $vary = ResourceLoaderModule::getVary( $context ); $res = $dbr->select( 'module_deps', [ 'md_module', 'md_deps' ], [ 'md_module' => $moduleNames, 'md_skin' => $vary, diff --git a/includes/resourceloader/ResourceLoaderModule.php b/includes/resourceloader/ResourceLoaderModule.php index 0baed65fce..a7fee8546b 100644 --- a/includes/resourceloader/ResourceLoaderModule.php +++ b/includes/resourceloader/ResourceLoaderModule.php @@ -409,7 +409,7 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface { * @return array List of files */ protected function getFileDependencies( ResourceLoaderContext $context ) { - $vary = $context->getSkin() . '|' . $context->getLanguage(); + $vary = self::getVary( $context ); // Try in-object cache first if ( !isset( $this->fileDeps[$vary] ) ) { @@ -444,7 +444,7 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface { * @param string[] $files Array of file names */ public function setFileDependencies( ResourceLoaderContext $context, $files ) { - $vary = $context->getSkin() . '|' . $context->getLanguage(); + $vary = self::getVary( $context ); $this->fileDeps[$vary] = $files; } @@ -481,7 +481,7 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface { } // The file deps list has changed, we want to update it. - $vary = $context->getSkin() . '|' . $context->getLanguage(); + $vary = self::getVary( $context ); $cache = ObjectCache::getLocalClusterInstance(); $key = $cache->makeKey( __METHOD__, $this->getName(), $vary ); $scopeLock = $cache->getScopedLock( $key, 0 ); @@ -1017,4 +1017,18 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface { protected static function safeFileHash( $filePath ) { return FileContentsHasher::getFileContentsHash( $filePath ); } + + /** + * Get vary string. + * + * @internal For internal use only. + * @param ResourceLoaderContext $context + * @return string Vary string + */ + public static function getVary( ResourceLoaderContext $context ) { + return implode( '|', [ + $context->getSkin(), + $context->getLanguage(), + ] ); + } } -- 2.20.1