Hide marked empty elements by default (stage 1)
authorTim Starling <tstarling@wikimedia.org>
Wed, 13 Jul 2016 02:01:59 +0000 (12:01 +1000)
committerKunal Mehta <legoktm@member.fsf.org>
Thu, 14 Jul 2016 21:24:27 +0000 (14:24 -0700)
commitd3d682fb45189c7437b6344c40b6024557bc06e0
treecfccbb028ef64d481073bfc62ac025063c42d4d6
parent7dd1914e734ccd7c2842bb2e18bf4866a4ecbf63
Hide marked empty elements by default (stage 1)

We originally imagined rolling out the display of empty elements
simultaneously with the Html5Depurate, but now we have added support for
marking empty elements to Html5Depurate and plan on having some sort of
longer migration period. So, move the relevant CSS to content.css, and
remove the concept of CSS dependant on tidy driver.

Add a body class which will allow the effect to be toggled in a gadget or
extension. Actual toggling in the CSS will be in the stage 2 patch, to be
deployed after the varnish cache and parser cache have expired.

I originally imagined that there would be a gadget that overrides the
rule with an !important selector, but that method does not allow you to
recover the original display property, which is often overridden by the
style attribute or site CSS to be "inline".

Also, in RaggettWrapper, switch to the new class mw-empty-elt, following
Html5Depurate, instead of mw-empty-li. The old class will be removed in
the stage 2 patch.

Change-Id: Ic0f432c43a006629ca5a1a7c2dda3552ceb4dc4f
includes/OutputPage.php
includes/parser/MWTidy.php
includes/parser/Parser.php
includes/tidy/RaggettWrapper.php
resources/src/mediawiki.skinning/content.css
resources/src/mediawiki/mediawiki.raggett.css
tests/parser/parserTests.txt