Lulz Hide Fix README
--
Okay, so here's the general approach for this. Currently, the "hide thread"
functionality on lulz.net/furi works by changing the CSS styles for certain
s for the "hidden" threads. The problem is, this happens after the page
loads, which is why "hidden" threads see that flicker effect when you load the
page (that is; they are visible for a fraction of a second, and then get
collapsed).
What this extension does is hide the contents of the entire page via CSS styles
until the page essentials have loaded. Specifically, we hide the page until the
DOMContentLoaded event fires, which is when the html for the page itself has
loaded along with a few other things, but before images or anythings like that
have loaded. Once this has happened, we change the CSS styling again to make the
page not hidden.
The "hide the page" CSS is in lulzhidefix.css, and is loaded via the relevant
directive in chrome.manifest, and is loaded for everything. It's restricted to
lulz.net pages via the @-moz-document directive. The lulzhidefix.js code removes
the hidden-ness by adding the element to the ._lhf_postLoad CSS class,
which removes the effects of lulzhidefix.css.
This does have the downside that the page will not be viewable at all until all
of the necessary page data has been loaded; normally firefox will draw
partially-loaded pages. But I'm not sure how to do this without that drawback,
and this was easy enough to do.