Better, simpler visibility API.

No need to polyfill for Gecko anymore.
This commit is contained in:
Mayhem 2013-05-27 20:13:29 +02:00
parent d69a2c3fc6
commit 41b8401399

View File

@ -3,20 +3,10 @@ Polyfill =
Polyfill.visibility() Polyfill.visibility()
visibility: -> visibility: ->
# page visibility API # page visibility API
return if 'visibilityState' of document return unless 'webkitHidden' of document
if 'webkitVisibilityState' of document Object.defineProperties HTMLDocument.prototype,
prefix = 'webkit' visibilityState:
else if 'mozVisibilityState' of document get: -> @webkitVisibilityState
prefix = 'moz' hidden:
else get: -> @webkitHidden
return $.on d, 'webkitvisibilitychange', -> $.event 'visibilitychange'
property = prefix + 'VisibilityState'
event = prefix + 'visibilitychange'
d.visibilityState = d[property]
d.hidden = d.visibilityState is 'hidden'
$.on d, event, ->
d.visibilityState = d[property]
d.hidden = d.visibilityState is 'hidden'
$.event 'visibilitychange'