fix(external_api): JS error in removeListeners and simplifies dispose

This commit is contained in:
hristoterezov 2017-04-18 17:54:56 -05:00
parent 7be8e3e1e9
commit 55f5ceb85a
1 changed files with 14 additions and 9 deletions

View File

@ -319,16 +319,14 @@ class JitsiMeetExternalAPI extends EventEmitter {
* @returns {void}
*/
dispose() {
const frame = document.getElementById(this.frameName);
this.postis.destroy();
if (frame) {
frame.src = 'about:blank';
if (this.postis) {
this.postis.destroy();
this.postis = null;
}
window.setTimeout(() => {
this.iframeHolder.removeChild(this.frame);
this.removeAllListeners();
if (this.iframeHolder) {
this.iframeHolder.parentNode.removeChild(this.iframeHolder);
}, 10);
}
}
/**
@ -350,6 +348,13 @@ class JitsiMeetExternalAPI extends EventEmitter {
return;
}
if (!this.postis) {
logger.error('Cannot execute command using disposed instance.');
return;
}
this.postis.send({
method: commands[name],
params: args
@ -398,7 +403,7 @@ class JitsiMeetExternalAPI extends EventEmitter {
* NOTE: This method is not removed for backward comatability purposes.
*/
removeEventListener(event) {
this.removeListeners(event);
this.removeAllListeners(event);
}
/**