Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libs/bower_components/visibilityjs/lib/visibility.core.js')
-rw-r--r--libs/bower_components/visibilityjs/lib/visibility.core.js191
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);