X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FMediaWikiServices.php;h=199472ad2032fa42b91e084490fafc426d71a4ab;hb=83bfc8721c0bbc4a2b6e3e7e13b182524ecad933;hp=49891dfd5e63936d87cc5a335359bfc61cd052f1;hpb=b92a94b52f8e30c53794123961f79315adf80a55;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php index 49891dfd5e..199472ad20 100644 --- a/includes/MediaWikiServices.php +++ b/includes/MediaWikiServices.php @@ -16,8 +16,10 @@ use MediaWiki\Linker\LinkRenderer; use MediaWiki\Linker\LinkRendererFactory; use MediaWiki\Services\SalvageableService; use MediaWiki\Services\ServiceContainer; +use MediaWiki\Services\NoSuchServiceException; use MWException; use ObjectCache; +use ProxyLookup; use SearchEngine; use SearchEngineConfig; use SearchEngineFactory; @@ -198,7 +200,14 @@ class MediaWikiServices extends ServiceContainer { */ private function salvage( self $other ) { foreach ( $this->getServiceNames() as $name ) { - $oldService = $other->peekService( $name ); + // The service could be new in the new instance and not registered in the + // other instance (e.g. an extension that was loaded after the instantiation of + // the other instance. Skip this service in this case. See T143974 + try { + $oldService = $other->peekService( $name ); + } catch ( NoSuchServiceException $e ) { + continue; + } if ( $oldService instanceof SalvageableService ) { /** @var SalvageableService $newService */ @@ -521,6 +530,14 @@ class MediaWikiServices extends ServiceContainer { return $this->getService( 'MediaHandlerFactory' ); } + /** + * @since 1.28 + * @return ProxyLookup + */ + public function getProxyLookup() { + return $this->getService( 'ProxyLookup' ); + } + /** * @since 1.28 * @return GenderCache @@ -572,6 +589,30 @@ class MediaWikiServices extends ServiceContainer { return $this->getService( 'TitleParser' ); } + /** + * @since 1.28 + * @return \BagOStuff + */ + public function getMainObjectStash() { + return $this->getService( 'MainObjectStash' ); + } + + /** + * @since 1.28 + * @return \WANObjectCache + */ + public function getMainWANObjectCache() { + return $this->getService( 'MainWANObjectCache' ); + } + + /** + * @since 1.28 + * @return \BagOStuff + */ + public function getLocalServerObjectCache() { + return $this->getService( 'LocalServerObjectCache' ); + } + /** * @since 1.28 * @return VirtualRESTServiceClient