wiki.techinc.nl/includes/ResourceLoader/HookRunner.php
Tim Starling 3e2653f83b ResourceLoader namespace (attempt 2)
Move ResourceLoader classes to their own namespace. Strip the
"ResourceLoader" prefix from all except ResourceLoader itself.

Move the tests by analogy.

I used a namespace alias "RL" in some callers since RL\Module is less
ambiguous at the call site than just "Module".

I did not address DependencyStore which continues to have a non-standard
location and namespace.

Revert of a241d83e0a.

Bug: T308718
Change-Id: Id08a220e1d6085e2b33f3f6c9d0e3935a4204659
2022-05-24 15:41:46 +00:00

74 lines
2 KiB
PHP

<?php
namespace MediaWiki\ResourceLoader;
use MediaWiki\HookContainer\HookContainer;
/**
* @internal
* @codeCoverageIgnore
* @ingroup ResourceLoader
*/
class HookRunner implements
\MediaWiki\ResourceLoader\Hook\ResourceLoaderExcludeUserOptionsHook,
\MediaWiki\ResourceLoader\Hook\ResourceLoaderForeignApiModulesHook,
\MediaWiki\ResourceLoader\Hook\ResourceLoaderRegisterModulesHook,
\MediaWiki\ResourceLoader\Hook\ResourceLoaderSiteModulePagesHook,
\MediaWiki\ResourceLoader\Hook\ResourceLoaderSiteStylesModulePagesHook,
\MediaWiki\ResourceLoader\Hook\ResourceLoaderTestModulesHook
{
/** @var HookContainer */
private $container;
public function __construct( HookContainer $container ) {
$this->container = $container;
}
public function onResourceLoaderExcludeUserOptions( array &$keysToExclude, Context $context ): void {
$this->container->run(
'ResourceLoaderExcludeUserOptions',
[ &$keysToExclude, $context ],
[ 'abortable' => false ]
);
}
public function onResourceLoaderForeignApiModules( &$dependencies, $context ): void {
$this->container->run(
'ResourceLoaderForeignApiModules',
[ &$dependencies, $context ],
[ 'abortable' => false ]
);
}
public function onResourceLoaderRegisterModules( ResourceLoader $rl ): void {
$this->container->run(
'ResourceLoaderRegisterModules',
[ $rl ],
[ 'abortable' => false ]
);
}
public function onResourceLoaderSiteModulePages( $skin, array &$pages ): void {
$this->container->run(
'ResourceLoaderSiteModulePages',
[ $skin, &$pages ],
[ 'abortable' => false ]
);
}
public function onResourceLoaderSiteStylesModulePages( $skin, array &$pages ): void {
$this->container->run(
'ResourceLoaderSiteStylesModulePages',
[ $skin, &$pages ],
[ 'abortable' => false ]
);
}
public function onResourceLoaderTestModules( array &$testModules, ResourceLoader $rl ): void {
$this->container->run(
'ResourceLoaderTestModules',
[ &$testModules, $rl ],
[ 'abortable' => false ]
);
}
}