Clear timestamp timeouts if the window closes

// FREEBIE
This commit is contained in:
lilia 2015-11-06 16:47:30 -08:00
parent 2ce890b845
commit c34f8e330d
2 changed files with 11 additions and 1 deletions

View file

@ -122,6 +122,10 @@
window.addEventListener('beforeunload', callback);
}
},
onClosed: function(callback) {
// assumes only one front end window
return chrome.app.window.getAll()[0].onClosed.addListener(callback);
},
drawAttention: function(window_id) {
if (chrome.app.window) {

View file

@ -6,8 +6,11 @@
window.Whisper = window.Whisper || {};
Whisper.MessageTimestampView = Whisper.View.extend({
initialize: function() {
extension.windows.onClosed(this.clearTimeout.bind(this));
},
update: function() {
clearTimeout(this.timeout);
this.clearTimeout();
var millis_now = Date.now();
var millis = this.$el.data('timestamp');
if (millis >= millis_now) {
@ -48,6 +51,9 @@
if (delay < 0) { delay = 0; }
this.timeout = setTimeout(this.update.bind(this), delay);
}
},
clearTimeout: function() {
clearTimeout(this.timeout);
}
});
})();