[MessagePort] Fixed issue with removeMessagePortListener without any added earlier 46/194446/3
authorLukasz Bardeli <l.bardeli@samsung.com>
Wed, 5 Dec 2018 09:18:08 +0000 (10:18 +0100)
committerLukasz Bardeli <l.bardeli@samsung.com>
Wed, 5 Dec 2018 09:18:08 +0000 (10:18 +0100)
If any listener was added before remove then error was thrown
'Cannot read property length of undefined'

[Verification] Code compiles without error. TCT passrate 100%

Change-Id: I96000345ae483a9fa2c0b50a6be0ece427ce8e1b
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
src/messageport/messageport_api.js

index 283521a..3219ed2 100755 (executable)
@@ -185,10 +185,10 @@ LocalMessagePort.prototype.removeMessagePortListener = function(watchId) {
   var toDelete;
   var listeners = callbacks[ports[this.messagePortName]];
 
-  for (var i = 0, j = listeners.length; i < j; i++) {
-    var listenerId = listeners[i][1];
+  for (var key in listeners) {
+    var listenerId = listeners[key][1];
     if (watchId == listenerId) {
-      toDelete = i;
+      toDelete = key;
       break;
     }
   }