From 41b840139985b5489414840be832a652f0940ba3 Mon Sep 17 00:00:00 2001 From: Mayhem Date: Mon, 27 May 2013 20:13:29 +0200 Subject: [PATCH] Better, simpler visibility API. No need to polyfill for Gecko anymore. --- lib/polyfill.coffee | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/lib/polyfill.coffee b/lib/polyfill.coffee index 0c098b212..5d9ddc124 100644 --- a/lib/polyfill.coffee +++ b/lib/polyfill.coffee @@ -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'