Use namespaced ScopedCallback

The un-namespaced \ScopedCallback is deprecated.

Change-Id: Ie014d5a775ead66335a24acac9d339915884d1a4
This commit is contained in:
Kunal Mehta 2016-10-11 22:36:03 -07:00
parent 70b8f94b81
commit 61adc1e146
44 changed files with 78 additions and 35 deletions

View file

@ -22,6 +22,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* The edit page/HTML interface (split from Article)

View file

@ -21,6 +21,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* Prepare an edit in shared cache so that it can be reused on edit

View file

@ -2382,7 +2382,7 @@ class AuthManager implements LoggerAwareInterface {
$session->set( 'AuthManager:lastAuthTimestamp', time() );
$session->persist();
\ScopedCallback::consume( $delay );
\Wikimedia\ScopedCallback::consume( $delay );
\Hooks::run( 'UserLoggedIn', [ $user ] );
}

View file

@ -21,6 +21,7 @@
* @ingroup Cache
*/
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* MediaWiki message cache structure version.

View file

@ -25,6 +25,7 @@
use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* Group all the pieces relevant to the context of a request into one instance

View file

@ -20,6 +20,7 @@
* @file
*/
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* Update object handling the cleanup of links tables after a page was deleted.

View file

@ -21,6 +21,7 @@
*/
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* Class the manages updates of *_link tables as well as similar extension-managed tables

View file

@ -21,6 +21,7 @@
* @author Aaron Schulz
*/
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* Class to handle job queues stored in the DB

View file

@ -26,6 +26,7 @@ use MediaWiki\Logger\LoggerFactory;
use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
/**
* Job queue runner utility methods

View file

@ -20,6 +20,7 @@
* @file
* @ingroup Upload
*/
use Wikimedia\ScopedCallback;
/**
* Assemble the segments of a chunked upload.

View file

@ -21,6 +21,7 @@
* @ingroup Upload
* @ingroup JobQueue
*/
use Wikimedia\ScopedCallback;
/**
* Upload a file from the upload stash into the local file repo.

View file

@ -30,6 +30,7 @@
*/
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
/**
* @brief Base class for all file backend classes (including multi-write backends).

View file

@ -29,6 +29,7 @@
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use Wikimedia\ScopedCallback;
use Wikimedia\WaitConditionLoop;
/**

View file

@ -25,6 +25,7 @@
*/
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
/**
* Relational database abstraction object

View file

@ -23,6 +23,7 @@
* @file
* @ingroup Database
*/
use Wikimedia\ScopedCallback;
/**
* Basic database interface for live and lazy-loaded relation database handles

View file

@ -22,6 +22,7 @@
*/
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
/**
* An interface for generating database load balancers

View file

@ -21,6 +21,7 @@
* @ingroup Database
*/
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
/**
* Database connection, tracking, load balancing, and transaction manager for a cluster

View file

@ -20,6 +20,7 @@
*/
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
/**
* Basic DB load monitor with no external dependencies

View file

@ -24,6 +24,7 @@
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use Wikimedia\ScopedCallback;
/**
* Class for reading xmp data containing properties relevant to

View file

@ -20,6 +20,7 @@
* @file
* @ingroup Media
*/
use Wikimedia\ScopedCallback;
/**
* Handler for SVG images.

View file

@ -22,6 +22,7 @@
*/
use MediaWiki\Linker\LinkRenderer;
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* @defgroup Parser Parser
@ -1445,6 +1446,7 @@ class Parser {
$keyword = 'RFC';
$urlmsg = 'rfcurl';
$cssClass = 'mw-magiclink-rfc';
$trackingCategory = 'magiclinks-rfc-category';
$id = $m[5];
} elseif ( substr( $m[0], 0, 4 ) === 'PMID' ) {
if ( !$this->mOptions->getMagicPMIDLinks() ) {
@ -1453,12 +1455,14 @@ class Parser {
$keyword = 'PMID';
$urlmsg = 'pubmedurl';
$cssClass = 'mw-magiclink-pmid';
$trackingCategory = 'magiclinks-pmid-category';
$id = $m[5];
} else {
throw new MWException( __METHOD__ . ': unrecognised match type "' .
substr( $m[0], 0, 20 ) . '"' );
}
$url = wfMessage( $urlmsg, $id )->inContentLanguage()->text();
$this->addTrackingCategory( $trackingCategory );
return Linker::makeExternalLink( $url, "{$keyword} {$id}", true, $cssClass, [], $this->mTitle );
} elseif ( isset( $m[6] ) && $m[6] !== ''
&& $this->mOptions->getMagicISBNLinks()
@ -1472,6 +1476,7 @@ class Parser {
' ' => '',
'x' => 'X',
] );
$this->addTrackingCategory( 'magiclinks-isbn-category' );
return $this->getLinkRenderer()->makeKnownLink(
SpecialPage::getTitleFor( 'Booksources', $num ),
"ISBN $isbn",

View file

@ -20,6 +20,7 @@
* @file
* @ingroup Parser
*/
use Wikimedia\ScopedCallback;
/**
* @brief Set options of the Parser

View file

@ -21,6 +21,7 @@
* @ingroup Profiler
* @defgroup Profiler Profiler
*/
use Wikimedia\ScopedCallback;
/**
* Profiler base class that defines the interface and some trivial

View file

@ -25,6 +25,7 @@
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use Wikimedia\ScopedCallback;
/**
* Abstraction for ResourceLoader modules, with name registration and maxage functionality.

View file

@ -600,7 +600,7 @@ final class Session implements \Countable, \Iterator, \ArrayAccess {
*
* Calls to save() or clear() will not be delayed.
*
* @return \ScopedCallback When this goes out of scope, a save will be triggered
* @return \Wikimedia\ScopedCallback When this goes out of scope, a save will be triggered
*/
public function delaySave() {
return $this->backend->delaySave();

View file

@ -586,11 +586,11 @@ final class SessionBackend {
*
* Calls to save() will not be delayed.
*
* @return \ScopedCallback When this goes out of scope, a save will be triggered
* @return \Wikimedia\ScopedCallback When this goes out of scope, a save will be triggered
*/
public function delaySave() {
$this->delaySave++;
return new \ScopedCallback( function () {
return new \Wikimedia\ScopedCallback( function () {
if ( --$this->delaySave <= 0 ) {
$this->delaySave = 0;
$this->save();
@ -751,7 +751,7 @@ final class SessionBackend {
private function checkPHPSession() {
if ( !$this->checkPHPSessionRecursionGuard ) {
$this->checkPHPSessionRecursionGuard = true;
$reset = new \ScopedCallback( function () {
$reset = new \Wikimedia\ScopedCallback( function () {
$this->checkPHPSessionRecursionGuard = false;
} );

View file

@ -880,7 +880,7 @@ final class SessionManager implements SessionManagerInterface {
$session->resetId();
}
\ScopedCallback::consume( $delay );
\Wikimedia\ScopedCallback::consume( $delay );
return $session;
}

View file

@ -26,6 +26,7 @@ use MediaWiki\Session\Token;
use MediaWiki\Auth\AuthManager;
use MediaWiki\Auth\AuthenticationResponse;
use MediaWiki\Auth\AuthenticationRequest;
use Wikimedia\ScopedCallback;
/**
* String Some punctuation to prevent editing from broken text-mangling proxies.

View file

@ -26,6 +26,7 @@
* @ingroup Testing
*/
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* @ingroup Testing
@ -175,7 +176,7 @@ class ParserTestRunner {
// arrays: $setup and $teardown. The code snippets in the $setup array
// are executed at the end of the method, before it returns, and the
// code snippets in the $teardown array are executed in reverse order
// when the ScopedCallback object is consumed.
// when the Wikimedia\ScopedCallback object is consumed.
// Because it is a common operation to save, set and restore global
// variables, we have an additional convention: when the array key of

View file

@ -1,5 +1,7 @@
<?php
use Wikimedia\ScopedCallback;
require __DIR__ . '/../../maintenance/Maintenance.php';
// Make RequestContext::resetMain() happy

View file

@ -1,5 +1,6 @@
<?php
use MediaWiki\Linker\LinkTarget;
use Wikimedia\ScopedCallback;
/**
* @author Addshore

View file

@ -6,6 +6,7 @@ use MediaWiki\Session\SessionInfo;
use MediaWiki\Session\UserInfo;
use Psr\Log\LogLevel;
use StatusValue;
use Wikimedia\ScopedCallback;
/**
* @group AuthManager
@ -184,7 +185,7 @@ class AuthManagerTest extends \MediaWikiTestCase {
$rProp = new \ReflectionProperty( AuthManager::class, 'instance' );
$rProp->setAccessible( true );
$old = $rProp->getValue();
$cb = new \ScopedCallback( [ $rProp, 'setValue' ], [ $old ] );
$cb = new ScopedCallback( [ $rProp, 'setValue' ], [ $old ] );
$rProp->setValue( null );
$singleton = AuthManager::singleton();
@ -202,11 +203,11 @@ class AuthManagerTest extends \MediaWikiTestCase {
list( $provider, $reset ) = $this->getMockSessionProvider( false );
$this->assertFalse( $this->manager->canAuthenticateNow() );
\ScopedCallback::consume( $reset );
ScopedCallback::consume( $reset );
list( $provider, $reset ) = $this->getMockSessionProvider( true );
$this->assertTrue( $this->manager->canAuthenticateNow() );
\ScopedCallback::consume( $reset );
ScopedCallback::consume( $reset );
}
public function testNormalizeUsername() {
@ -385,7 +386,7 @@ class AuthManagerTest extends \MediaWikiTestCase {
$this->unhook( 'SecuritySensitiveOperationStatus' );
}
\ScopedCallback::consume( $reset );
ScopedCallback::consume( $reset );
}
public function onSecuritySensitiveOperationStatus( &$status, $operation, $session, $time ) {
@ -585,7 +586,7 @@ class AuthManagerTest extends \MediaWikiTestCase {
$this->initializeManager();
$context = \RequestContext::getMain();
$reset = new \ScopedCallback( [ $context, 'setLanguage' ], [ $context->getLanguage() ] );
$reset = new ScopedCallback( [ $context, 'setLanguage' ], [ $context->getLanguage() ] );
$context->setLanguage( 'de' );
$this->setMwGlobals( 'wgContLang', \Language::factory( 'zh' ) );
@ -712,7 +713,7 @@ class AuthManagerTest extends \MediaWikiTestCase {
}
$this->unhook( 'UserLoggedIn' );
$this->assertNull( $this->request->getSession()->getSecret( 'AuthManager::authnState' ) );
\ScopedCallback::consume( $reset );
ScopedCallback::consume( $reset );
$this->initializeManager( true );
// CreatedAccountAuthenticationRequest
@ -1449,11 +1450,11 @@ class AuthManagerTest extends \MediaWikiTestCase {
];
$block = new \Block( $blockOptions );
$block->insert();
$scopeVariable = new \ScopedCallback( [ $block, 'delete' ] );
$scopeVariable = new ScopedCallback( [ $block, 'delete' ] );
$status = $this->manager->checkAccountCreatePermissions( new \User );
$this->assertFalse( $status->isOK() );
$this->assertTrue( $status->hasMessage( 'cantcreateaccount-range-text' ) );
\ScopedCallback::consume( $scopeVariable );
ScopedCallback::consume( $scopeVariable );
$this->setMwGlobals( [
'wgEnableDnsBlacklist' => true,

View file

@ -152,7 +152,7 @@ class CheckBlocksSecondaryAuthenticationProviderTest extends \MediaWikiTestCase
];
$block = new \Block( $blockOptions );
$block->insert();
$scopeVariable = new \ScopedCallback( [ $block, 'delete' ] );
$scopeVariable = new \Wikimedia\ScopedCallback( [ $block, 'delete' ] );
$user = \User::newFromName( 'UTNormalUser' );
if ( $user->getID() == 0 ) {

View file

@ -2,6 +2,8 @@
namespace MediaWiki\Auth;
use Wikimedia\ScopedCallback;
/**
* @group AuthManager
* @group Database
@ -70,7 +72,7 @@ class TemporaryPasswordPrimaryAuthenticationProviderTest extends \MediaWikiTestC
} );
}
return new \ScopedCallback( function () {
return new ScopedCallback( function () {
\Hooks::clear( 'AlternateUserMailer' );
\Hooks::register( 'AlternateUserMailer', function () {
return false;
@ -414,7 +416,7 @@ class TemporaryPasswordPrimaryAuthenticationProviderTest extends \MediaWikiTestC
$dbw = wfGetDB( DB_MASTER );
$oldHash = $dbw->selectField( 'user', 'user_newpassword', [ 'user_name' => $cuser ] );
$cb = new \ScopedCallback( function () use ( $dbw, $cuser, $oldHash ) {
$cb = new ScopedCallback( function () use ( $dbw, $cuser, $oldHash ) {
$dbw->update( 'user', [ 'user_newpassword' => $oldHash ], [ 'user_name' => $cuser ] );
} );
@ -451,7 +453,7 @@ class TemporaryPasswordPrimaryAuthenticationProviderTest extends \MediaWikiTestC
$changeReq->password = $newpass;
$resetMailer = $this->hookMailer();
$provider->providerChangeAuthenticationData( $changeReq );
\ScopedCallback::consume( $resetMailer );
ScopedCallback::consume( $resetMailer );
$loginReq->password = $oldpass;
$ret = $provider->beginPrimaryAuthentication( $loginReqs );
@ -573,7 +575,7 @@ class TemporaryPasswordPrimaryAuthenticationProviderTest extends \MediaWikiTestC
return false;
} );
$provider->providerChangeAuthenticationData( $req );
\ScopedCallback::consume( $resetMailer );
ScopedCallback::consume( $resetMailer );
$this->assertTrue( $mailed );
$priv = \TestingAccessWrapper::newFromObject( $provider );
@ -723,7 +725,7 @@ class TemporaryPasswordPrimaryAuthenticationProviderTest extends \MediaWikiTestC
$this->assertSame( 'byemail', $provider->finishAccountCreation( $user, $creator, $res ) );
$this->assertTrue( $mailed );
\ScopedCallback::consume( $resetMailer );
ScopedCallback::consume( $resetMailer );
$this->assertTrue( $mailed );
}

View file

@ -1,4 +1,5 @@
<?php
use Wikimedia\ScopedCallback;
/**
* @group Database

View file

@ -1,5 +1,7 @@
<?php
use Wikimedia\ScopedCallback;
class WikiCategoryPageTest extends MediaWikiLangTestCase {
/**

View file

@ -1,4 +1,5 @@
<?php
use Wikimedia\ScopedCallback;
/**
* This is the TestCase subclass for running a single parser test via the

View file

@ -21,7 +21,7 @@ class PHPSessionHandlerTest extends MediaWikiTestCase {
}
return false;
} );
$reset[] = new \ScopedCallback( 'restore_error_handler' );
$reset[] = new \Wikimedia\ScopedCallback( 'restore_error_handler' );
$rProp = new \ReflectionProperty( PHPSessionHandler::class, 'instance' );
$rProp->setAccessible( true );
@ -30,7 +30,7 @@ class PHPSessionHandlerTest extends MediaWikiTestCase {
$oldManager = $old->manager;
$oldStore = $old->store;
$oldLogger = $old->logger;
$reset[] = new \ScopedCallback(
$reset[] = new \Wikimedia\ScopedCallback(
[ PHPSessionHandler::class, 'install' ],
[ $oldManager, $oldStore, $oldLogger ]
);
@ -49,7 +49,7 @@ class PHPSessionHandlerTest extends MediaWikiTestCase {
$rProp = new \ReflectionProperty( PHPSessionHandler::class, 'instance' );
$rProp->setAccessible( true );
$reset = new \ScopedCallback( [ $rProp, 'setValue' ], [ $rProp->getValue() ] );
$reset = new \Wikimedia\ScopedCallback( [ $rProp, 'setValue' ], [ $rProp->getValue() ] );
$rProp->setValue( $handler );
$handler->setEnableFlags( 'enable' );
@ -123,7 +123,7 @@ class PHPSessionHandlerTest extends MediaWikiTestCase {
] );
PHPSessionHandler::install( $manager );
$wrap = \TestingAccessWrapper::newFromObject( $rProp->getValue() );
$reset[] = new \ScopedCallback(
$reset[] = new \Wikimedia\ScopedCallback(
[ $wrap, 'setEnableFlags' ],
[ $wrap->enable ? $wrap->warn ? 'warn' : 'enable' : 'disable' ]
);
@ -326,7 +326,7 @@ class PHPSessionHandlerTest extends MediaWikiTestCase {
\TestingAccessWrapper::newFromObject( $handler )->setEnableFlags( 'disable' );
$oldValue = $rProp->getValue();
$rProp->setValue( $handler );
$reset = new \ScopedCallback( [ $rProp, 'setValue' ], [ $oldValue ] );
$reset = new \Wikimedia\ScopedCallback( [ $rProp, 'setValue' ], [ $oldValue ] );
call_user_func_array( [ $handler, $method ], $args );
}

View file

@ -464,7 +464,7 @@ class SessionBackendTest extends MediaWikiTestCase {
// Save happens when delay is consumed
$this->onSessionMetadataCalled = false;
$priv->metaDirty = true;
\ScopedCallback::consume( $delay );
\Wikimedia\ScopedCallback::consume( $delay );
$this->assertTrue( $this->onSessionMetadataCalled );
// Test multiple delays
@ -475,11 +475,11 @@ class SessionBackendTest extends MediaWikiTestCase {
$priv->metaDirty = true;
$priv->autosave();
$this->assertFalse( $this->onSessionMetadataCalled );
\ScopedCallback::consume( $delay3 );
\Wikimedia\ScopedCallback::consume( $delay3 );
$this->assertFalse( $this->onSessionMetadataCalled );
\ScopedCallback::consume( $delay1 );
\Wikimedia\ScopedCallback::consume( $delay1 );
$this->assertFalse( $this->onSessionMetadataCalled );
\ScopedCallback::consume( $delay2 );
\Wikimedia\ScopedCallback::consume( $delay2 );
$this->assertTrue( $this->onSessionMetadataCalled );
}
@ -822,7 +822,7 @@ class SessionBackendTest extends MediaWikiTestCase {
$rProp = new \ReflectionProperty( PHPSessionHandler::class, 'instance' );
$rProp->setAccessible( true );
$handler = \TestingAccessWrapper::newFromObject( $rProp->getValue() );
$resetHandler = new \ScopedCallback( function () use ( $handler ) {
$resetHandler = new \Wikimedia\ScopedCallback( function () use ( $handler ) {
session_write_close();
$handler->enable = false;
} );
@ -862,7 +862,7 @@ class SessionBackendTest extends MediaWikiTestCase {
$rProp = new \ReflectionProperty( PHPSessionHandler::class, 'instance' );
$rProp->setAccessible( true );
$handler = \TestingAccessWrapper::newFromObject( $rProp->getValue() );
$resetHandler = new \ScopedCallback( function () use ( $handler ) {
$resetHandler = new \Wikimedia\ScopedCallback( function () use ( $handler ) {
session_write_close();
$handler->enable = false;
} );
@ -898,7 +898,7 @@ class SessionBackendTest extends MediaWikiTestCase {
$rProp = new \ReflectionProperty( PHPSessionHandler::class, 'instance' );
$rProp->setAccessible( true );
$handler = \TestingAccessWrapper::newFromObject( $rProp->getValue() );
$resetHandler = new \ScopedCallback( function () use ( $handler ) {
$resetHandler = new \Wikimedia\ScopedCallback( function () use ( $handler ) {
session_write_close();
$handler->enable = false;
} );

View file

@ -62,7 +62,7 @@ class SessionManagerTest extends MediaWikiTestCase {
$rProp->setAccessible( true );
$handler = \TestingAccessWrapper::newFromObject( $rProp->getValue() );
$oldEnable = $handler->enable;
$reset[] = new \ScopedCallback( function () use ( $handler, $oldEnable ) {
$reset[] = new \Wikimedia\ScopedCallback( function () use ( $handler, $oldEnable ) {
if ( $handler->enable ) {
session_write_close();
}

View file

@ -45,7 +45,7 @@ class TestUtils {
PHPSessionHandler::install( $manager );
}
return new \ScopedCallback( function () use ( &$reset, $oldInstance ) {
return new \Wikimedia\ScopedCallback( function () use ( &$reset, $oldInstance ) {
foreach ( $reset as &$arr ) {
$arr[0]->setValue( $arr[1] );
}

View file

@ -1,4 +1,6 @@
<?php
use Wikimedia\ScopedCallback;
/**
* Factory for handling the special page list and generating SpecialPage objects.
*

View file

@ -1,6 +1,7 @@
<?php
use MediaWiki\Session\SessionManager;
use Wikimedia\ScopedCallback;
/**
* @covers BotPassword

View file

@ -1,4 +1,5 @@
<?php
use Wikimedia\ScopedCallback;
/**
* The UnitTest must be either a class that inherits from MediaWikiTestCase