For legacy reasons, the site module has always been both a script module and a page-style module at the same time. Meaning, the styles and scripts portion of it don't directly relate to each other, rather they both relate to the page directly. As such, they should be loaded separately. Loading it as a dynamic module is not an option as its styles should be top-loaded and not depend on JavaScript. The restriction that will be put it place for T92459 also requires the module be split. For environments that use static file or proxy caching, this MUST be deployed after Ic137cb494 and I8b6c6a1 have been deployed and all cache has rolled over. Bug: T92459 Bug: T108590 Change-Id: Id2342454bdc87a7c4d194f7350caa699ec4054b9
51 lines
1.5 KiB
PHP
51 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* ResourceLoader module for site customizations.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*
|
|
* @file
|
|
* @author Trevor Parscal
|
|
* @author Roan Kattouw
|
|
*/
|
|
|
|
/**
|
|
* Module for site customizations
|
|
*/
|
|
class ResourceLoaderSiteModule extends ResourceLoaderWikiModule {
|
|
|
|
/**
|
|
* Get list of pages used by this module
|
|
*
|
|
* @param ResourceLoaderContext $context
|
|
* @return array List of pages
|
|
*/
|
|
protected function getPages( ResourceLoaderContext $context ) {
|
|
$pages = [];
|
|
if ( $this->getConfig()->get( 'UseSiteJs' ) ) {
|
|
$pages['MediaWiki:Common.js'] = [ 'type' => 'script' ];
|
|
$pages['MediaWiki:' . ucfirst( $context->getSkin() ) . '.js'] = [ 'type' => 'script' ];
|
|
}
|
|
return $pages;
|
|
}
|
|
|
|
/*
|
|
* @return array
|
|
*/
|
|
public function getDependencies( ResourceLoaderContext $context = null ) {
|
|
return [ 'site.styles' ];
|
|
}
|
|
}
|