This identified something we hadn't codified before which is that
we expect the 'startup' module to always exist. The code and tests
for ResourceLoaderClientHtml also assume this, which we now
acknowledge explicitly by leaving it in the constructor.
Bug: T32956
Change-Id: Iffc545eb32078aed0d059e5902a5c9382e14c641
},
'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader {
},
'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader {
$config = $services->getMainConfig();
$rl = new ResourceLoader(
$config = $services->getMainConfig();
$rl = new ResourceLoader(
LoggerFactory::getInstance( 'resourceloader' )
);
$rl->addSource( $config->get( 'ResourceLoaderSources' ) );
LoggerFactory::getInstance( 'resourceloader' )
);
$rl->addSource( $config->get( 'ResourceLoaderSources' ) );
+ $rl->register( include "$IP/resources/Resources.php" );
* @param LoggerInterface|null $logger [optional]
*/
public function __construct( Config $config = null, LoggerInterface $logger = null ) {
* @param LoggerInterface|null $logger [optional]
*/
public function __construct( Config $config = null, LoggerInterface $logger = null ) {
$this->logger = $logger ?: new NullLogger();
if ( !$config ) {
$this->logger = $logger ?: new NullLogger();
if ( !$config ) {
// Add 'local' source first
$this->addSource( 'local', $config->get( 'LoadScript' ) );
// Add 'local' source first
$this->addSource( 'local', $config->get( 'LoadScript' ) );
- // Register core modules
- $this->register( include "$IP/resources/Resources.php" );
+ // Special module that always exists
+ $this->register( 'startup', [ 'class' => ResourceLoaderStartUpModule::class ] );
+
// Register extension modules
$this->register( $config->get( 'ResourceModules' ) );
// Register extension modules
$this->register( $config->get( 'ResourceModules' ) );
global $wgResourceBasePath;
return [
global $wgResourceBasePath;
return [
-
- /**
- * Special modules who have their own classes
- */
- 'startup' => [ 'class' => ResourceLoaderStartUpModule::class ],
-
// Scripts managed by the local wiki (stored in the MediaWiki namespace)
'site' => [ 'class' => ResourceLoaderSiteModule::class ],
'site.styles' => [ 'class' => ResourceLoaderSiteStylesModule::class ],
// Scripts managed by the local wiki (stored in the MediaWiki namespace)
'site' => [ 'class' => ResourceLoaderSiteModule::class ],
'site.styles' => [ 'class' => ResourceLoaderSiteStylesModule::class ],