summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'extensions')
-rw-r--r--extensions/web/13_message_port.js10
1 files changed, 7 insertions, 3 deletions
diff --git a/extensions/web/13_message_port.js b/extensions/web/13_message_port.js
index 50d3f5d04..1928409f2 100644
--- a/extensions/web/13_message_port.js
+++ b/extensions/web/13_message_port.js
@@ -60,7 +60,9 @@
* @returns {MessagePort}
*/
function createMessagePort(id) {
- const port = webidl.createBranded(MessagePort);
+ const port = core.createHostObject();
+ Object.setPrototypeOf(port, MessagePort.prototype);
+ port[webidl.brand] = webidl.brand;
setEventTargetData(port);
port[_id] = id;
return port;
@@ -187,7 +189,9 @@
}
}
- const data = core.deserialize(messageData.data);
+ const data = core.deserialize(messageData.data, {
+ hostObjects: transferables,
+ });
return [data, transferables];
}
@@ -200,7 +204,7 @@
function serializeJsMessageData(data, tranferables) {
let serializedData;
try {
- serializedData = core.serialize(data);
+ serializedData = core.serialize(data, { hostObjects: tranferables });
} catch (err) {
throw new DOMException(err.message, "DataCloneError");
}