Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
/* global BaseModule, NetworkActivityIcon, LazyLoader */
|
|
'use strict';
|
|
|
|
(function() {
|
|
var NetworkActivity = function() {};
|
|
NetworkActivity.EVENTS = [
|
|
'moznetworkupload',
|
|
'moznetworkdownload',
|
|
'visibilitychange'
|
|
];
|
|
BaseModule.create(NetworkActivity, {
|
|
name: 'NetworkActivity',
|
|
_start: function() {
|
|
if (this.icon) {
|
|
return;
|
|
}
|
|
LazyLoader.load(['js/network_activity_icon.js']).then(function() {
|
|
this.icon = new NetworkActivityIcon(this);
|
|
this._handle_visibilitychange();
|
|
}.bind(this)).catch(function(err) {
|
|
console.error(err);
|
|
});
|
|
},
|
|
_stop: function() {
|
|
this.icon.stop();
|
|
},
|
|
_handle_visibilitychange: function() {
|
|
if (document.hidden) {
|
|
this.icon && this.icon.stop();
|
|
} else {
|
|
this.icon && this.icon.start();
|
|
}
|
|
},
|
|
_handle_moznetworkupload: function() {
|
|
this.update();
|
|
},
|
|
_handle_moznetworkdownload: function() {
|
|
this.update();
|
|
},
|
|
update: function() {
|
|
this.icon && this.icon.update();
|
|
}
|
|
});
|
|
}());
|