UserCSSPrefsModule: Remove redundant inline text-decoration:none css rules
authorTimo Tijhof <krinklemail@gmail.com>
Wed, 8 Jul 2015 18:56:31 +0000 (19:56 +0100)
committerTimo Tijhof <krinklemail@gmail.com>
Tue, 22 Dec 2015 23:00:40 +0000 (15:00 -0800)
commiteddbcab08aa8d576f772136b491220d75876fafa
tree47c09352417c554e6b45c30676e6c4a4b1e12dfb
parentd08c8af43b0cb006efc611de3f2a4ecaf09194c4
UserCSSPrefsModule: Remove redundant inline text-decoration:none css rules

By default user option 'underline' is '2' which means no skin override.

Once a upon a time, none of the popular MediaWiki skins specified whether links should have
underlines, and most browsers default to having an underline on links (when not hovering).

As such, there was an exception added for languages where underlines cause text to be unreadable.

Nowadays however all modern skins explicitly specify the intended design for links.
Neither the default skin (Vector) nor other popular skins I checked have underlines by default.
As such, this rule is redundant.

If a skin comes along that does specify underlines by default, then these rules should be placed
in that skins' stylesheet. Not in the HTML of all pages.

Incidentally, this was the last code branch in ResourceLoaderUserCSSPrefsModule that is true by
default. Which means from now on this <style> tag is automatically omitted from the HTML for
logged-out users and users that haven't changed the 'underline' or 'editfont' preference.

Implement the missing isKnownEmpty() method so that OutputPage does the automatic omission.

To test the new text-decoration rule in mediawiki.skinning:
* Change user preference language to "ar" and observe anchor links in the interface
  not having underlines on-hover.
* Change $wgLanguageCode to "ar" and observe anchor links in the content not having
  underlines on-hover.

History:
* 2011 (043f98a3; r101445) Move overrides from shared.css to ResourceLoaderUserOptionsModule
                           Also remove "!important" from underline css
* 2011 (33293c9b; r96261) Apply "!important" to underline user option css
* 2011 (81446abc; r91432; T31712) Move overrides from MessageXX.php to skins/common/shared.css
* 2006 (43b2fb56; r15823) Move overrides from LanguageXX.php to MessageX.php
* 2004 (f9f3e915) Add override to LanguageAr.php

Bug: T105313
Change-Id: I94dda30fb80b30e9c12a74a8b09065da55681929
includes/resourceloader/ResourceLoaderUserCSSPrefsModule.php
resources/src/mediawiki.skinning/elements.css