diff --git a/src/display/api.js b/src/display/api.js index 6c3487803..5dc140d66 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1463,8 +1463,14 @@ class LoopbackPort { while (!(desc = Object.getOwnPropertyDescriptor(p, i))) { p = Object.getPrototypeOf(p); } - if (typeof desc.value === 'undefined' || - typeof desc.value === 'function') { + if (typeof desc.value === 'undefined') { + continue; + } + if (typeof desc.value === 'function') { + if (value.hasOwnProperty && value.hasOwnProperty(i)) { + throw new Error( + `LoopbackPort.postMessage - cannot clone: ${value[i]}`); + } continue; } result[i] = cloneValue(desc.value);