X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=9a94389f74976546e991d4820422f4dac6360941;hb=467739271886574d47394bdb19da9c0fc772bcab;hp=a1be2257ee7601972a073e5486b6ae8fbf9913e5;hpb=837b96248da57b5971bd14e116aee7d0d41f6014;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index a1be2257ee..12e782d34f 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -48,8 +48,10 @@ use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; use MediaWiki\Preferences\PreferencesFactory; use MediaWiki\Preferences\DefaultPreferencesFactory; +use MediaWiki\Revision\MainSlotRoleHandler; use MediaWiki\Revision\RevisionFactory; use MediaWiki\Revision\RevisionLookup; +use MediaWiki\Revision\SlotRoleRegistry; use MediaWiki\Revision\RevisionRenderer; use MediaWiki\Revision\RevisionStore; use MediaWiki\Revision\RevisionStoreFactory; @@ -83,7 +85,7 @@ return [ 'CommentStore' => function ( MediaWikiServices $services ) : CommentStore { return new CommentStore( $services->getContentLanguage(), - $services->getMainConfig()->get( 'CommentTableSchemaMigrationStage' ) + MIGRATION_NEW ); }, @@ -411,6 +413,13 @@ return [ ); }, + 'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader { + return new ResourceLoader( + $services->getMainConfig(), + LoggerFactory::getInstance( 'resourceloader' ) + ); + }, + 'RevisionFactory' => function ( MediaWikiServices $services ) : RevisionFactory { return $services->getRevisionStore(); }, @@ -420,7 +429,13 @@ return [ }, 'RevisionRenderer' => function ( MediaWikiServices $services ) : RevisionRenderer { - return new RevisionRenderer( $services->getDBLoadBalancer() ); + $renderer = new RevisionRenderer( + $services->getDBLoadBalancer(), + $services->getSlotRoleRegistry() + ); + + $renderer->setLogger( LoggerFactory::getInstance( 'SaveParse' ) ); + return $renderer; }, 'RevisionStore' => function ( MediaWikiServices $services ) : RevisionStore { @@ -433,6 +448,7 @@ return [ $services->getDBLoadBalancerFactory(), $services->getBlobStoreFactory(), $services->getNameTableStoreFactory(), + $services->getSlotRoleRegistry(), $services->getMainWANObjectCache(), $services->getCommentStore(), $services->getActorMigration(), @@ -473,14 +489,10 @@ return [ }, 'SiteLookup' => function ( MediaWikiServices $services ) : SiteLookup { - $cacheFile = $services->getMainConfig()->get( 'SitesCacheFile' ); - - if ( $cacheFile !== false ) { - return new FileBasedSiteLookup( $cacheFile ); - } else { - // Use the default SiteStore as the SiteLookup implementation for now - return $services->getSiteStore(); - } + // Use SiteStore as the SiteLookup as well. This was originally separated + // to allow for a cacheable read-only interface (using FileBasedSiteLookup), + // but this was never used. SiteStore has caching (see below). + return $services->getSiteStore(); }, 'SiteStore' => function ( MediaWikiServices $services ) : SiteStore { @@ -516,6 +528,22 @@ return [ return $factory; }, + 'SlotRoleRegistry' => function ( MediaWikiServices $services ) : SlotRoleRegistry { + $config = $services->getMainConfig(); + + $registry = new SlotRoleRegistry( + $services->getNameTableStoreFactory()->getSlotRoles() + ); + + $registry->defineRole( 'main', function () use ( $config ) { + return new MainSlotRoleHandler( + $config->get( 'NamespaceContentModels' ) + ); + } ); + + return $registry; + }, + 'SpecialPageFactory' => function ( MediaWikiServices $services ) : SpecialPageFactory { return new SpecialPageFactory( $services->getMainConfig(), @@ -566,13 +594,16 @@ return [ return new WatchedItemQueryService( $services->getDBLoadBalancer(), $services->getCommentStore(), - $services->getActorMigration() + $services->getActorMigration(), + $services->getWatchedItemStore() ); }, 'WatchedItemStore' => function ( MediaWikiServices $services ) : WatchedItemStore { $store = new WatchedItemStore( $services->getDBLoadBalancerFactory(), + JobQueueGroup::singleton(), + $services->getMainObjectStash(), new HashBagOStuff( [ 'maxKeys' => 100 ] ), $services->getReadOnlyMode(), $services->getMainConfig()->get( 'UpdateRowsPerQuery' )