Browse Source

Merge pull request #1518 from jitsi/fix_removeListeners

fix(external_api): JS error in removeListeners and simplifies dispose
master
Saúl Ibarra Corretgé 8 years ago
parent
commit
607bef8d68
1 changed files with 14 additions and 9 deletions
  1. 14
    9
      modules/API/external/external_api.js

+ 14
- 9
modules/API/external/external_api.js View File

319
      * @returns {void}
319
      * @returns {void}
320
      */
320
      */
321
     dispose() {
321
     dispose() {
322
-        const frame = document.getElementById(this.frameName);
323
-
324
-        this.postis.destroy();
325
-        if (frame) {
326
-            frame.src = 'about:blank';
322
+        if (this.postis) {
323
+            this.postis.destroy();
324
+            this.postis = null;
327
         }
325
         }
328
-        window.setTimeout(() => {
329
-            this.iframeHolder.removeChild(this.frame);
326
+        this.removeAllListeners();
327
+        if (this.iframeHolder) {
330
             this.iframeHolder.parentNode.removeChild(this.iframeHolder);
328
             this.iframeHolder.parentNode.removeChild(this.iframeHolder);
331
-        }, 10);
329
+        }
332
     }
330
     }
333
 
331
 
334
     /**
332
     /**
350
 
348
 
351
             return;
349
             return;
352
         }
350
         }
351
+
352
+        if (!this.postis) {
353
+            logger.error('Cannot execute command using disposed instance.');
354
+
355
+            return;
356
+        }
357
+
353
         this.postis.send({
358
         this.postis.send({
354
             method: commands[name],
359
             method: commands[name],
355
             params: args
360
             params: args
398
      * NOTE: This method is not removed for backward comatability purposes.
403
      * NOTE: This method is not removed for backward comatability purposes.
399
      */
404
      */
400
     removeEventListener(event) {
405
     removeEventListener(event) {
401
-        this.removeListeners(event);
406
+        this.removeAllListeners(event);
402
     }
407
     }
403
 
408
 
404
     /**
409
     /**

Loading…
Cancel
Save