Fix for potential memory leaks

pull/749/head
adambar 10 years ago
parent 9c563cf080
commit b80706089c

@ -52,7 +52,16 @@
this.$('.discussion-container').append(this.view.el); this.$('.discussion-container').append(this.view.el);
this.view.render(); this.view.render();
this.appWindow.contentWindow.addEventListener('resize', this.forceUpdateMessageFieldSize.bind(this)); this.$messageField = this.$('.send-message');
var onResize = this.forceUpdateMessageFieldSize.bind(this);
this.appWindow.contentWindow.addEventListener('resize', onResize);
this.appWindow.onClosed.addListener(function () {
this.appWindow.contentWindow.removeEventListener('resize', onResize);
window.autosize.destroy(this.$messageField);
this.remove();
}.bind(this));
setTimeout(function() { setTimeout(function() {
this.view.scrollToBottom(); this.view.scrollToBottom();
@ -63,7 +72,6 @@
'submit .send': 'sendMessage', 'submit .send': 'sendMessage',
'input .send-message': 'updateMessageFieldSize', 'input .send-message': 'updateMessageFieldSize',
'keydown .send-message': 'updateMessageFieldSize', 'keydown .send-message': 'updateMessageFieldSize',
'close': 'remove',
'click .destroy': 'destroyMessages', 'click .destroy': 'destroyMessages',
'click .end-session': 'endSession', 'click .end-session': 'endSession',
'click .leave-group': 'leaveGroup', 'click .leave-group': 'leaveGroup',
@ -165,7 +173,7 @@
sendMessage: function(e) { sendMessage: function(e) {
e.preventDefault(); e.preventDefault();
var input = this.$('.send .send-message'); var input = this.$messageField;
var message = this.replace_colons(input.val()); var message = this.replace_colons(input.val());
var convo = this.model; var convo = this.model;
@ -204,20 +212,19 @@
return this.$('.bottom-bar form').submit(); return this.$('.bottom-bar form').submit();
} }
var $messageField = this.$('.send-message'), var $discussionContainer = this.$('.discussion-container'),
$discussionContainer = this.$('.discussion-container'),
$discussionContainerPrevHeight = $discussionContainer.outerHeight(), $discussionContainerPrevHeight = $discussionContainer.outerHeight(),
$bottomBar = this.$('.bottom-bar'), $bottomBar = this.$('.bottom-bar'),
$bottomBarPrevHeight = $bottomBar.outerHeight(); $bottomBarPrevHeight = $bottomBar.outerHeight();
window.autosize($messageField); window.autosize(this.$messageField);
$bottomBar.outerHeight($messageField.outerHeight() + 1); $bottomBar.outerHeight(this.$messageField.outerHeight() + 1);
var $bottomBarNewHeight = $bottomBar.outerHeight(); var $bottomBarNewHeight = $bottomBar.outerHeight();
$discussionContainer.outerHeight($discussionContainerPrevHeight - ($bottomBarNewHeight - $bottomBarPrevHeight)); $discussionContainer.outerHeight($discussionContainerPrevHeight - ($bottomBarNewHeight - $bottomBarPrevHeight));
}, },
forceUpdateMessageFieldSize: function (event) { forceUpdateMessageFieldSize: function (event) {
window.autosize.update(this.$('.send-message')); window.autosize.update(this.$messageField);
this.updateMessageFieldSize(event); this.updateMessageFieldSize(event);
} }
}); });

Loading…
Cancel
Save