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,
$cache = ObjectCache::getLocalServerInstance( CACHE_ANYTHING );
$key = $cache->makeGlobalKey(
- 'resourceloader',
- 'filter',
+ 'resourceloader-filter',
$filter,
self::CACHE_VERSION,
md5( $data )
/**
* Register core modules and runs registration hooks.
- * @param Config|null $config [optional]
+ * @param Config|null $config
* @param LoggerInterface|null $logger [optional]
*/
public function __construct( Config $config = null, LoggerInterface $logger = null ) {
$this->logger = $logger ?: new NullLogger();
if ( !$config ) {
- // TODO: Deprecate and remove.
- $this->logger->debug( __METHOD__ . ' was called without providing a Config instance' );
+ wfDeprecated( __METHOD__ . ' without a Config instance', '1.34' );
$config = MediaWikiServices::getInstance()->getMainConfig();
}
$this->config = $config;
* @param bool $printable
* @param bool $handheld
* @param array $extraQuery
- *
* @return array
*/
public static function makeLoaderQuery( $modules, $lang, $skin, $user = null,
) {
$query = [
'modules' => self::makePackedModulesString( $modules ),
- 'lang' => $lang,
- 'skin' => $skin,
];
+ // Keep urls short by omitting query parameters that
+ // match the defaults assumed by ResourceLoaderContext.
+ // Note: This relies on the defaults either being insignificant or forever constant,
+ // as otherwise cached urls could change in meaning when the defaults change.
+ if ( $lang !== ResourceLoaderContext::DEFAULT_LANG ) {
+ $query['lang'] = $lang;
+ }
+ if ( $skin !== ResourceLoaderContext::DEFAULT_SKIN ) {
+ $query['skin'] = $skin;
+ }
if ( $debug === true ) {
$query['debug'] = 'true';
}