getConfig(); $logo = $conf->get( 'Logo' ); $logoHD = $conf->get( 'LogoHD' ); $logo1 = OutputPage::transformResourcePath( $conf, $logo ); $logo15 = OutputPage::transformResourcePath( $conf, $logoHD['1.5x'] ); $logo2 = OutputPage::transformResourcePath( $conf, $logoHD['2x'] ); $styles = parent::getStyles( $context ); $styles['all'][] = '.mw-wiki-logo { background-image: ' . CSSMin::buildUrlValue( $logo1 ) . '; }'; // Only 1.5x and 2x are supported // Note: Keep in sync with OutputPage::addLogoPreloadLinkHeaders() if ( $logoHD ) { if ( isset( $logoHD['1.5x'] ) ) { $styles[ '(-webkit-min-device-pixel-ratio: 1.5), ' . '(min--moz-device-pixel-ratio: 1.5), ' . '(min-resolution: 1.5dppx), ' . '(min-resolution: 144dpi)' ][] = '.mw-wiki-logo { background-image: ' . CSSMin::buildUrlValue( $logo15 ) . ';' . 'background-size: 135px auto; }'; } if ( isset( $logoHD['2x'] ) ) { $styles[ '(-webkit-min-device-pixel-ratio: 2), ' . '(min--moz-device-pixel-ratio: 2),' . '(min-resolution: 2dppx), ' . '(min-resolution: 192dpi)' ][] = '.mw-wiki-logo { background-image: ' . CSSMin::buildUrlValue( $logo2 ) . ';' . 'background-size: 135px auto; }'; } } return $styles; } /** * @param ResourceLoaderContext $context * @return bool */ public function isKnownEmpty( ResourceLoaderContext $context ) { // Regardless of whether the files are specified, we always // provide mw-wiki-logo styles. return false; } public function getDefinitionSummary( ResourceLoaderContext $context ) { $summary = parent::getDefinitionSummary( $context ); $summary[] = [ 'logo' => $this->getConfig()->get( 'Logo' ), 'logoHD' => $this->getConfig()->get( 'LogoHD' ), ]; return $summary; } }