Remove usage of deprecated SkinFactory::getDefaultInstance()

Change-Id: I3bd50f8ca5baabd34dbc0e3bbc2f97e94650a17a
This commit is contained in:
Kunal Mehta 2019-06-02 20:55:00 -04:00
parent f75b449f2d
commit 01541db36b
7 changed files with 24 additions and 9 deletions

View file

@ -20,6 +20,8 @@
* @file
*/
use MediaWiki\MediaWikiServices;
/**
* This is the abstract base class for API formatters.
*
@ -73,7 +75,7 @@ abstract class ApiFormatBase extends ApiBase {
} elseif ( $this->getIsHtml() ) {
return 'api-result.html';
} else {
$exts = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer()
$exts = MediaWikiServices::getInstance()->getMimeAnalyzer()
->getExtensionsForType( $this->getMimeType() );
$ext = $exts ? strtok( $exts, ' ' ) : strtolower( $this->mFormat );
return "api-result.$ext";
@ -245,7 +247,8 @@ abstract class ApiFormatBase extends ApiBase {
$result = $this->getBuffer();
$context = new DerivativeContext( $this->getMain() );
$context->setSkin( SkinFactory::getDefaultInstance()->makeSkin( 'apioutput' ) );
$skinFactory = MediaWikiServices::getInstance()->getSkinFactory();
$context->setSkin( $skinFactory->makeSkin( 'apioutput' ) );
$context->setTitle( SpecialPage::getTitleFor( 'ApiHelp' ) );
$out = new OutputPage( $context );
$context->setOutput( $out );

View file

@ -40,7 +40,8 @@ class ApiHelp extends ApiBase {
// Get the help
$context = new DerivativeContext( $this->getMain()->getContext() );
$context->setSkin( SkinFactory::getDefaultInstance()->makeSkin( 'apioutput' ) );
$skinFactory = MediaWikiServices::getInstance()->getSkinFactory();
$context->setSkin( $skinFactory->makeSkin( 'apioutput' ) );
$context->setLanguage( $this->getMain()->getLanguage() );
$context->setTitle( SpecialPage::getTitleFor( 'ApiHelp' ) );
$out = new OutputPage( $context );

View file

@ -9,6 +9,8 @@
* @file
*/
use MediaWiki\MediaWikiServices;
/**
* BaseTemplate class for the fallback skin
*/
@ -41,7 +43,8 @@ class SkinFallbackTemplate extends BaseTemplate {
private function buildHelpfulInformationMessage() {
$defaultSkin = $this->config->get( 'DefaultSkin' );
$installedSkins = $this->findInstalledSkins();
$enabledSkins = SkinFactory::getDefaultInstance()->getSkinNames();
$skinFactory = MediaWikiServices::getInstance()->getSkinFactory();
$enabledSkins = $skinFactory->getSkinNames();
$enabledSkins = array_change_key_case( $enabledSkins, CASE_LOWER );
if ( $installedSkins ) {

View file

@ -358,7 +358,7 @@ abstract class Maintenance {
wfDeprecated( __METHOD__ . ' without an $argId', '1.33' );
}
return $this->hasArg( $argId ) ? $this->mArgs[$argId] : $default;
return $this->mArgs[$argId] ?? $default;
}
/**

View file

@ -1,5 +1,6 @@
<?php
use MediaWiki\MediaWikiServices;
use Wikimedia\TestingAccessWrapper;
/**
@ -2662,7 +2663,8 @@ class OutputPageTest extends MediaWikiTestCase {
$method = $class->getMethod( 'makeResourceLoaderLink' );
$method->setAccessible( true );
$ctx = new RequestContext();
$ctx->setSkin( SkinFactory::getDefaultInstance()->makeSkin( 'fallback' ) );
$skinFactory = MediaWikiServices::getInstance()->getSkinFactory();
$ctx->setSkin( $skinFactory->makeSkin( 'fallback' ) );
$ctx->setLanguage( 'en' );
$out = new OutputPage( $ctx );
$nonce = $class->getProperty( 'CSPNonce' );
@ -2775,7 +2777,8 @@ class OutputPageTest extends MediaWikiTestCase {
// Set up stubs
$ctx = new RequestContext();
$ctx->setSkin( SkinFactory::getDefaultInstance()->makeSkin( 'fallback' ) );
$skinFactory = MediaWikiServices::getInstance()->getSkinFactory();
$ctx->setSkin( $skinFactory->makeSkin( 'fallback' ) );
$ctx->setLanguage( 'en' );
$op = $this->getMockBuilder( OutputPage::class )
->setConstructorArgs( [ $ctx ] )

View file

@ -9,14 +9,16 @@ class ResourceLoaderFileModuleTest extends ResourceLoaderTestCase {
protected function setUp() {
parent::setUp();
$skinFactory = new SkinFactory();
// The return value of the closure shouldn't matter since this test should
// never call it
SkinFactory::getDefaultInstance()->register(
$skinFactory->register(
'fakeskin',
'FakeSkin',
function () {
}
);
$this->setService( 'SkinFactory', $skinFactory );
}
private static function getModules() {

View file

@ -16,12 +16,15 @@ class ResourceLoaderOOUIImageModuleTest extends ResourceLoaderTestCase {
] );
// Pretend that 'fakemonobook' is a real skin using the Apex theme
SkinFactory::getDefaultInstance()->register(
$skinFactory = new SkinFactory();
$skinFactory->register(
'fakemonobook',
'FakeMonoBook',
function () {
}
);
$this->setService( 'SkinFactory', $skinFactory );
$r = new ReflectionMethod( ExtensionRegistry::class, 'exportExtractedData' );
$r->setAccessible( true );
$r->invoke( ExtensionRegistry::getInstance(), [