Merge pull request #1518 from jitsi/fix_removeListeners

fix(external_api): JS error in removeListeners and simplifies dispose
This commit is contained in:
Saúl Ibarra Corretgé 2017-04-20 23:47:15 +02:00 committed by GitHub
commit 607bef8d68
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);
if (this.postis) {
this.postis.destroy();
if (frame) {
frame.src = 'about:blank';
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);
}
/**