Fix commons icon to avoid pixelation

The CSS to make the favico twice as big was looking horrible in
Firefox and possibly other browsers. Since we're already
special-casing commons, let's apply a proper SVG instead of the
favico.

Change-Id: Ie32302342eba7aa37bd310c013a9f4d7f9ae187e
This commit is contained in:
Gilles Dubuc 2014-04-10 13:20:39 +02:00
parent 642eb25e3b
commit 779b91d405
4 changed files with 51 additions and 1 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -430,7 +430,7 @@
this.$repo.text( repositoryMessage );
this.$repoLi.css( 'background-image',
repoInfo.favIcon ? 'url("' + repoInfo.favIcon + '")' : null );
( repoInfo.favIcon && !isCommons ) ? 'url("' + repoInfo.favIcon + '")' : '' );
this.$repoLi.toggleClass( 'commons', isCommons );
this.$repoSubtitle.text(

View file

@ -158,6 +158,8 @@
line-height: 1.3;
&.commons { // there is an extra subtitle for Commons images, box should be larger
/* @embed */
background-image: url(img/commons.svg);
@icon-size: 32px;
min-height: @icon-size;
padding-left: @icon-size + 2 * @padding;

View file

@ -275,4 +275,27 @@
$qf.removeClass( 'invited' );
} );
QUnit.test( 'Repo icon', 4, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
panel = new mw.mmv.ui.MetadataPanel( $qf, $( '<div>' ).appendTo( $qf ) ),
favIcon = 'http://foo.com/bar',
repoData = {
favIcon: favIcon,
getArticlePath : function() { return 'Foo'; },
isCommons: function() { return false; }
};
panel.setRepoDisplay( repoData );
assert.ok( panel.$repoLi.css( 'background-image' ).indexOf( favIcon ) !== -1, 'Repo favicon is correctly applied' );
assert.ok( !panel.$repoLi.hasClass( 'commons' ), 'Repo does not have commons class' );
repoData.isCommons = function() { return true; };
panel.setRepoDisplay( repoData );
assert.ok( panel.$repoLi.css( 'background-image' ).indexOf( 'data:image/svg+xml' ) !== -1, 'Repo favicon is correctly replaced by svg for Commons' );
assert.ok( panel.$repoLi.hasClass( 'commons' ), 'Repo has commons class' );
} );
}( mediaWiki, jQuery ) );