+ 'RevisionStore' => function ( MediaWikiServices $services ) {
+ /** @var SqlBlobStore $blobStore */
+ $blobStore = $services->getService( '_SqlBlobStore' );
+
+ $store = new RevisionStore(
+ $services->getDBLoadBalancer(),
+ $blobStore,
+ $services->getMainWANObjectCache()
+ );
+
+ $config = $services->getMainConfig();
+ $store->setContentHandlerUseDB( $config->get( 'ContentHandlerUseDB' ) );
+
+ return $store;
+ },
+
+ 'BlobStoreFactory' => function ( MediaWikiServices $services ) {
+ global $wgContLang;
+ return new BlobStoreFactory(
+ $services->getDBLoadBalancer(),
+ $services->getMainWANObjectCache(),
+ $services->getMainConfig(),
+ $wgContLang
+ );
+ },
+
+ 'BlobStore' => function ( MediaWikiServices $services ) {
+ return $services->getService( '_SqlBlobStore' );
+ },
+
+ '_SqlBlobStore' => function ( MediaWikiServices $services ) {
+ return $services->getBlobStoreFactory()->newSqlBlobStore();
+ },
+
+ 'PreferencesFactory' => function ( MediaWikiServices $services ) {
+ global $wgContLang;
+ $authManager = AuthManager::singleton();
+ $linkRenderer = $services->getLinkRendererFactory()->create();
+ $config = $services->getMainConfig();
+ return new DefaultPreferencesFactory( $config, $wgContLang, $authManager, $linkRenderer );
+ },
+