Merge "resourceloader: Remove unused static SkinModule::getLogo method"
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index e2bc139..99b2942 100644 (file)
@@ -37,6 +37,7 @@
  *      MediaWiki code base.
  */
 
+use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
 use MediaWiki\Auth\AuthManager;
 use MediaWiki\Config\ConfigRepository;
 use MediaWiki\Interwiki\ClassicInterwikiLookup;
@@ -48,6 +49,7 @@ use MediaWiki\MediaWikiServices;
 use MediaWiki\Preferences\PreferencesFactory;
 use MediaWiki\Preferences\DefaultPreferencesFactory;
 use MediaWiki\Shell\CommandFactory;
+use MediaWiki\Special\SpecialPageFactory;
 use MediaWiki\Storage\BlobStore;
 use MediaWiki\Storage\BlobStoreFactory;
 use MediaWiki\Storage\NameTableStore;
@@ -56,7 +58,6 @@ use MediaWiki\Storage\RevisionLookup;
 use MediaWiki\Storage\RevisionStore;
 use MediaWiki\Storage\RevisionStoreFactory;
 use MediaWiki\Storage\SqlBlobStore;
-use Wikimedia\ObjectFactory;
 
 return [
        'ActorMigration' => function ( MediaWikiServices $services ) : ActorMigration {
@@ -71,7 +72,7 @@ return [
 
        'BlobStoreFactory' => function ( MediaWikiServices $services ) : BlobStoreFactory {
                return new BlobStoreFactory(
-                       $services->getDBLoadBalancer(),
+                       $services->getDBLoadBalancerFactory(),
                        $services->getMainWANObjectCache(),
                        $services->getMainConfig(),
                        $services->getContentLanguage()
@@ -367,9 +368,7 @@ return [
        },
 
        'Parser' => function ( MediaWikiServices $services ) : Parser {
-               $conf = $services->getMainConfig()->get( 'ParserConf' );
-               return ObjectFactory::constructClassInstance( $conf['class'],
-                       [ $conf, $services->getMagicWordFactory() ] );
+               return $services->getParserFactory()->create();
        },
 
        'ParserCache' => function ( MediaWikiServices $services ) : ParserCache {
@@ -383,6 +382,16 @@ return [
                );
        },
 
+       'ParserFactory' => function ( MediaWikiServices $services ) : ParserFactory {
+               return new ParserFactory(
+                       $services->getMainConfig()->get( 'ParserConf' ),
+                       $services->getMagicWordFactory(),
+                       $services->getContentLanguage(),
+                       wfUrlProtocols(),
+                       $services->getSpecialPageFactory()
+               );
+       },
+
        'PasswordFactory' => function ( MediaWikiServices $services ) : PasswordFactory {
                $config = $services->getMainConfig();
                return new PasswordFactory(
@@ -392,20 +401,22 @@ return [
        },
 
        'PerDbNameStatsdDataFactory' =>
-       function ( MediaWikiServices $services ) : IBufferingStatsdDataFactory {
+       function ( MediaWikiServices $services ) : StatsdDataFactoryInterface {
                $config = $services->getMainConfig();
                $wiki = $config->get( 'DBname' );
-               return new BufferingStatsdDataFactory(
-                       rtrim( $services->getMainConfig()->get( 'StatsdMetricPrefix' ), '.' ) . '.' . $wiki
+               return new PrefixingStatsdDataFactoryProxy(
+                       $services->getStatsdDataFactory(),
+                       $wiki
                );
        },
 
        'PreferencesFactory' => function ( MediaWikiServices $services ) : PreferencesFactory {
-               $authManager = AuthManager::singleton();
-               $linkRenderer = $services->getLinkRendererFactory()->create();
-               $config = $services->getMainConfig();
-               $factory = new DefaultPreferencesFactory( $config, $services->getContentLanguage(),
-                       $authManager, $linkRenderer );
+               $factory = new DefaultPreferencesFactory(
+                       $services->getMainConfig(),
+                       $services->getContentLanguage(),
+                       AuthManager::singleton(),
+                       $services->getLinkRendererFactory()->create()
+               );
                $factory->setLogger( LoggerFactory::getInstance( 'preferences' ) );
 
                return $factory;
@@ -538,6 +549,13 @@ return [
                );
        },
 
+       'SpecialPageFactory' => function ( MediaWikiServices $services ) : SpecialPageFactory {
+               return new SpecialPageFactory(
+                       $services->getMainConfig(),
+                       $services->getContentLanguage()
+               );
+       },
+
        'StatsdDataFactory' => function ( MediaWikiServices $services ) : IBufferingStatsdDataFactory {
                return new BufferingStatsdDataFactory(
                        rtrim( $services->getMainConfig()->get( 'StatsdMetricPrefix' ), '.' )
@@ -614,7 +632,8 @@ return [
                return new MediaWikiTitleCodec(
                        $services->getContentLanguage(),
                        $services->getGenderCache(),
-                       $services->getMainConfig()->get( 'LocalInterwikis' )
+                       $services->getMainConfig()->get( 'LocalInterwikis' ),
+                       $services->getInterwikiLookup()
                );
        },