wiki.techinc.nl/includes/resourceloader/HookRunner.php
Timo Tijhof d04f04097a resourceloader: Use a local HookRunner
Also move ResourceLoaderRegisterModulesHook under the same
namespace. I forgot this one in commit b7ac554304.

This is mainly motivated by making the collaboration graph
on doc.wikimedia.org not huge by pulling in the full range
of core hook interfaces.
<https://doc.wikimedia.org/mediawiki-core/master/php/classResourceLoader.html>

Depends-On: Ifa53d96dd3e4592208dbc991e2af9e6b7598e44d
Depends-On: Ib4571d80f55a4716e28b76ba1d007f95b0fb2540
Change-Id: I576305a5edb36a2ffb513e6d557bbf1d337cb17e
2020-09-17 01:53:18 +00:00

65 lines
1.7 KiB
PHP

<?php
namespace MediaWiki\ResourceLoader;
use MediaWiki\HookContainer\HookContainer;
use ResourceLoader;
/**
* @internal
* @ingroup ResourceLoader
*/
class HookRunner implements
\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 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 ]
);
}
}