This is never used by the mw.loader client code. For any
manually crafted requests or fringe usage where the load.php
might be used to fetch some raw JS code that doesn't vary by
language or skin, proceed with qqx/fallback.
In the future load.php might deny these requests and then we
could make this a constructor parameter to ResourceLoaderContext.
Bug: T32956
Change-Id: I4e4ee758cd22278cea9592d4745b4f7fc00e0add
$this->skin = $request->getRawVal( 'skin' );
$skinnames = Skin::getSkinNames();
$this->skin = $request->getRawVal( 'skin' );
$skinnames = Skin::getSkinNames();
- // If no skin is specified, or we don't recognize the skin, use the default skin
if ( !$this->skin || !isset( $skinnames[$this->skin] ) ) {
if ( !$this->skin || !isset( $skinnames[$this->skin] ) ) {
- $this->skin = $this->getConfig()->get( 'DefaultSkin' );
+ // The 'skin' parameter is required. (Not yet enforced.)
+ // For requests without a known skin specified,
+ // use MediaWiki's 'fallback' skin for skin-specific decisions.
+ $this->skin = 'fallback';
$lang = $this->getRequest()->getRawVal( 'lang', '' );
// Stricter version of RequestContext::sanitizeLangCode()
if ( !Language::isValidBuiltInCode( $lang ) ) {
$lang = $this->getRequest()->getRawVal( 'lang', '' );
// Stricter version of RequestContext::sanitizeLangCode()
if ( !Language::isValidBuiltInCode( $lang ) ) {
- $lang = $this->getConfig()->get( 'LanguageCode' );
+ // The 'lang' parameter is required. (Not yet enforced.)
+ // If omitted, localise with the dummy language code.
+ $lang = 'qqx';
}
$this->language = $lang;
}
}
$this->language = $lang;
}
* getPages.
*/
public function __construct( array $options = null ) {
* getPages.
*/
public function __construct( array $options = null ) {
- if ( is_null( $options ) ) {
+ if ( $options === null ) {
protected static function getResourceLoader() {
return new EmptyResourceLoader( new HashConfig( [
'ResourceLoaderDebug' => false,
protected static function getResourceLoader() {
return new EmptyResourceLoader( new HashConfig( [
'ResourceLoaderDebug' => false,
- 'DefaultSkin' => 'fallback',
- 'LanguageCode' => 'nl',
'LoadScript' => '/w/load.php',
] ) );
}
'LoadScript' => '/w/load.php',
] ) );
}
// Request parameters
$this->assertEquals( [], $ctx->getModules() );
// Request parameters
$this->assertEquals( [], $ctx->getModules() );
- $this->assertEquals( 'nl', $ctx->getLanguage() );
+ $this->assertEquals( 'qqx', $ctx->getLanguage() );
$this->assertEquals( false, $ctx->getDebug() );
$this->assertEquals( null, $ctx->getOnly() );
$this->assertEquals( 'fallback', $ctx->getSkin() );
$this->assertEquals( false, $ctx->getDebug() );
$this->assertEquals( null, $ctx->getOnly() );
$this->assertEquals( 'fallback', $ctx->getSkin() );
// Misc
$this->assertEquals( 'ltr', $ctx->getDirection() );
// Misc
$this->assertEquals( 'ltr', $ctx->getDirection() );
- $this->assertEquals( 'nl|fallback||||||||', $ctx->getHash() );
+ $this->assertEquals( 'qqx|fallback||||||||', $ctx->getHash() );
$this->assertInstanceOf( User::class, $ctx->getUserObj() );
}
$this->assertInstanceOf( User::class, $ctx->getUserObj() );
}