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()
visibility: ->
# page visibility API
return if 'visibilityState' of document
if 'webkitVisibilityState' of document
prefix = 'webkit'
else if 'mozVisibilityState' of document
prefix = 'moz'
else
return
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'
return unless 'webkitHidden' of document
Object.defineProperties HTMLDocument.prototype,
visibilityState:
get: -> @webkitVisibilityState
hidden:
get: -> @webkitHidden
$.on d, 'webkitvisibilitychange', -> $.event 'visibilitychange'