ads: Use visibilitychange event if supported.
commita6ee26f489dbcf2b3e2c2a37dbe61390d43f2cda
authorMatt Lee <matt@reddit.com>
Thu, 5 Mar 2015 23:11:58 +0000 (5 15:11 -0800)
committerMatt Lee <matt@reddit.com>
Mon, 6 Apr 2015 21:46:20 +0000 (6 14:46 -0700)
treeed62e124bc11e435d923a43a213ad3810eb468bd
parent977e0f1d25b3c8d7dbf7dfd673f51606f97e9daf
ads: Use visibilitychange event if supported.

For loading new ads, use visibilitychange event if supported (it generally is). This means that, in theory, a new ad should load in one of the following cases:

1. Active tab changes.
2. Browser is minimized then maximized.
3. Browser window is covered up then uncovered.
4. OS goes to sleep/is locked then woken up/unlocked.

This makes a lot more sense than the current trigger, which is just focus.
Unfortunately support for cases 2-4 is spotty, but almost all browsers support
case 1.
r2/r2/public/static/js/spotlight.js