diff options
Diffstat (limited to 'libs/bower_components/visibilityjs/lib/visibility.core.js')
-rw-r--r-- | libs/bower_components/visibilityjs/lib/visibility.core.js | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/libs/bower_components/visibilityjs/lib/visibility.core.js b/libs/bower_components/visibilityjs/lib/visibility.core.js deleted file mode 100644 index a87b0f7166..0000000000 --- a/libs/bower_components/visibilityjs/lib/visibility.core.js +++ /dev/null @@ -1,191 +0,0 @@ -;(function (global) { - "use strict"; - - var lastId = -1; - - // Visibility.js allow you to know, that your web page is in the background - // tab and thus not visible to the user. This library is wrap under - // Page Visibility API. It fix problems with different vendor prefixes and - // add high-level useful functions. - var self = { - - // Call callback only when page become to visible for user or - // call it now if page is visible now or Page Visibility API - // doesn’t supported. - // - // Return false if API isn’t supported, true if page is already visible - // or listener ID (you can use it in `unbind` method) if page isn’t - // visible now. - // - // Visibility.onVisible(function () { - // startIntroAnimation(); - // }); - onVisible: function (callback) { - var support = self.isSupported(); - if ( !support || !self.hidden() ) { - callback(); - return support; - } - - var listener = self.change(function (e, state) { - if ( !self.hidden() ) { - self.unbind(listener); - callback(); - } - }); - return listener; - }, - - // Call callback when visibility will be changed. First argument for - // callback will be original event object, second will be visibility - // state name. - // - // Return listener ID to unbind listener by `unbind` method. - // - // If Page Visibility API doesn’t supported method will be return false - // and callback never will be called. - // - // Visibility.change(function(e, state) { - // Statistics.visibilityChange(state); - // }); - // - // It is just proxy to `visibilitychange` event, but use vendor prefix. - change: function (callback) { - if ( !self.isSupported() ) { - return false; - } - lastId += 1; - var number = lastId; - self._callbacks[number] = callback; - self._listen(); - return number; - }, - - // Remove `change` listener by it ID. - // - // var id = Visibility.change(function(e, state) { - // firstChangeCallback(); - // Visibility.unbind(id); - // }); - unbind: function (id) { - delete self._callbacks[id]; - }, - - // Call `callback` in any state, expect “prerender”. If current state - // is “prerender” it will wait until state will be changed. - // If Page Visibility API doesn’t supported, it will call `callback` - // immediately. - // - // Return false if API isn’t supported, true if page is already after - // prerendering or listener ID (you can use it in `unbind` method) - // if page is prerended now. - // - // Visibility.afterPrerendering(function () { - // Statistics.countVisitor(); - // }); - afterPrerendering: function (callback) { - var support = self.isSupported(); - var prerender = 'prerender'; - - if ( !support || prerender != self.state() ) { - callback(); - return support; - } - - var listener = self.change(function (e, state) { - if ( prerender != state ) { - self.unbind(listener); - callback(); - } - }); - return listener; - }, - - // Return true if page now isn’t visible to user. - // - // if ( !Visibility.hidden() ) { - // VideoPlayer.play(); - // } - // - // It is just proxy to `document.hidden`, but use vendor prefix. - hidden: function () { - return !!(self._doc.hidden || self._doc.webkitHidden); - }, - - // Return visibility state: 'visible', 'hidden' or 'prerender'. - // - // if ( 'prerender' == Visibility.state() ) { - // Statistics.pageIsPrerendering(); - // } - // - // Don’t use `Visibility.state()` to detect, is page visible, because - // visibility states can extend in next API versions. - // Use more simpler and general `Visibility.hidden()` for this cases. - // - // It is just proxy to `document.visibilityState`, but use - // vendor prefix. - state: function () { - return self._doc.visibilityState || - self._doc.webkitVisibilityState || - 'visible'; - }, - - // Return true if browser support Page Visibility API. - // - // if ( Visibility.isSupported() ) { - // Statistics.startTrackingVisibility(); - // Visibility.change(function(e, state)) { - // Statistics.trackVisibility(state); - // }); - // } - isSupported: function () { - return !!(self._doc.visibilityState || - self._doc.webkitVisibilityState); - }, - - // Link to document object to change it in tests. - _doc: document || {}, - - // Callbacks from `change` method, that wait visibility changes. - _callbacks: { }, - - // Listener for `visibilitychange` event. - _change: function(event) { - var state = self.state(); - - for ( var i in self._callbacks ) { - self._callbacks[i].call(self._doc, event, state); - } - }, - - // Set listener for `visibilitychange` event. - _listen: function () { - if ( self._init ) { - return; - } - - var event = 'visibilitychange'; - if ( self._doc.webkitVisibilityState ) { - event = 'webkit' + event; - } - - var listener = function () { - self._change.apply(self, arguments); - }; - if ( self._doc.addEventListener ) { - self._doc.addEventListener(event, listener); - } else { - self._doc.attachEvent(event, listener); - } - self._init = true; - } - - }; - - if ( typeof(module) != 'undefined' && module.exports ) { - module.exports = self; - } else { - global.Visibility = self; - } - -})(this); |