From: addshore Date: Tue, 19 Apr 2016 11:55:23 +0000 (+0100) Subject: Add getSkinFactory to MediaWikiServices X-Git-Tag: 1.31.0-rc.0~7162 X-Git-Url: https://git.cyclocoop.org/%7B%7B%20url_for%28%27admin_user_edit%27%2C%20iduser=user.userid%29%20%7D%7D?a=commitdiff_plain;h=fe87b6575a1b8eb67ddb4fc705a4c55bade4b479;p=lhc%2Fweb%2Fwiklou.git Add getSkinFactory to MediaWikiServices Change-Id: Ife79aca542e0e85405976de7be7acebfa3359569 --- diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php index f0fe6e97b6..eee1d430c9 100644 --- a/includes/MediaWikiServices.php +++ b/includes/MediaWikiServices.php @@ -12,6 +12,7 @@ use LoadBalancer; use MediaWiki\Services\ServiceContainer; use SiteLookup; use SiteStore; +use SkinFactory; /** * Service locator for MediaWiki core services. @@ -182,6 +183,13 @@ class MediaWikiServices extends ServiceContainer { return $this->getService( 'SearchEngineConfig' ); } + /** + * @return SkinFactory + */ + public function getSkinFactory() { + return $this->getService( 'SkinFactory' ); + } + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service getter here, don't forget to add a test // case for it in MediaWikiServicesTest::provideGetters() and in diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index defe698c28..d53396f1a2 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -91,7 +91,11 @@ return [ // Create a search engine config from main config. $config = $services->getService( 'MainConfig' ); return new SearchEngineConfig( $config ); - } + }, + + 'SkinFactory' => function( MediaWikiServices $services ) { + return new SkinFactory(); + }, /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service here, don't forget to add a getter function diff --git a/includes/skins/SkinFactory.php b/includes/skins/SkinFactory.php index 366862da9a..cc993aaf9b 100644 --- a/includes/skins/SkinFactory.php +++ b/includes/skins/SkinFactory.php @@ -21,6 +21,8 @@ * @file */ +use MediaWiki\MediaWikiServices; + /** * Factory class to create Skin objects * @@ -42,16 +44,11 @@ class SkinFactory { private $displayNames = []; /** - * @var SkinFactory + * @deprecated in 1.27 + * @return SkinFactory */ - private static $self; - public static function getDefaultInstance() { - if ( !self::$self ) { - self::$self = new self; - } - - return self::$self; + return MediaWikiServices::getInstance()->getSkinFactory(); } /** diff --git a/tests/phpunit/includes/MediaWikiServicesTest.php b/tests/phpunit/includes/MediaWikiServicesTest.php index 0741445680..f5c215bfb3 100644 --- a/tests/phpunit/includes/MediaWikiServicesTest.php +++ b/tests/phpunit/includes/MediaWikiServicesTest.php @@ -29,6 +29,7 @@ class MediaWikiServicesTest extends PHPUnit_Framework_TestCase { 'SearchEngine' => [ 'newSearchEngine', SearchEngine::class ], 'SearchEngineFactory' => [ 'getSearchEngineFactory', SearchEngineFactory::class ], 'SearchEngineConfig' => [ 'getSearchEngineConfig', SearchEngineConfig::class ], + 'SkinFactory' => [ 'getSkinFactory', SkinFactory::class ], ]; } @@ -56,6 +57,7 @@ class MediaWikiServicesTest extends PHPUnit_Framework_TestCase { 'EventRelayerGroup' => [ 'EventRelayerGroup', EventRelayerGroup::class ], 'SearchEngineFactory' => [ 'SearchEngineFactory', SearchEngineFactory::class ], 'SearchEngineConfig' => [ 'SearchEngineConfig', SearchEngineConfig::class ], + 'SkinFactory' => [ 'SkinFactory', SkinFactory::class ], ]; }