Set site logo url in ResourceLoaderSiteModule instead of inline styles

Requires skins to use the 'mw-wiki-logo' class on the logo element
for the styles to apply. This is backwards compatible with skins
not using that class and using inline styles instead.

Bug: 56257
Change-Id: I89e32fcd27c9f07e889aa5b67d7d97d06b412aea
This commit is contained in:
tholam 2013-11-30 18:49:21 -06:00 committed by Krinkle
parent b966d665c3
commit efe0169c59
2 changed files with 45 additions and 0 deletions

View file

@ -27,6 +27,8 @@ changes to languages because of Bugzilla reports.
removed. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for
migration guide for creators and users of custom skins that relied on it.
* Javascript variable 'wgFileCanRotate' now only available on Special:Upload.
* (bug 56257) Set site logo url in ResourceLoaderSiteModule instead of inline
styles in the HTML output.
== Compatibility ==

View file

@ -53,6 +53,49 @@ class ResourceLoaderSiteModule extends ResourceLoaderWikiModule {
/* Methods */
/**
* @param $context ResourceLoaderContext
* @return array
*/
public function getStyles( ResourceLoaderContext $context ) {
global $wgLogo;
$styles = parent::getStyles( $context );
$styles['all'][] = '.mw-wiki-logo { background-image: ' .
CSSMin::buildUrlValue( $wgLogo ) .
'; }';
return $styles;
}
/**
* @param $context ResourceLoaderContext
* @return boolean
*/
public function isKnownEmpty( ResourceLoaderContext $context ) {
// Regardless of whether the wiki page(s) exist, we always
// provide mw-wiki-logo styles.
return false;
}
/**
* @param $context ResourceLoaderContext
* @return int|mixed
*/
public function getModifiedTime( ResourceLoaderContext $context ) {
$parentMTime = parent::getModifiedTime( $context );
return max( $parentMTime, $this->getHashMtime( $context ) );
}
/**
* @param $context ResourceLoaderContext
* @return string: Hash
*/
public function getModifiedHash( ResourceLoaderContext $context ) {
global $wgLogo;
return md5( parent::getModifiedHash( $context ) . $wgLogo );
}
/**
* Gets group name
*