summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/web/13_message_port.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/ext/web/13_message_port.js b/ext/web/13_message_port.js
index d5014fdb9..d0d9e160e 100644
--- a/ext/web/13_message_port.js
+++ b/ext/web/13_message_port.js
@@ -15,6 +15,8 @@
const { defineEventHandler } = window.__bootstrap.event;
const { DOMException } = window.__bootstrap.domException;
const {
+ ArrayPrototypeIncludes,
+ ArrayPrototypePush,
ObjectSetPrototypeOf,
Symbol,
SymbolFor,
@@ -117,7 +119,7 @@
);
}
const { transfer } = options;
- if (transfer.includes(this)) {
+ if (ArrayPrototypeIncludes(transfer, this)) {
throw new DOMException("Can not tranfer self", "DataCloneError");
}
const data = serializeJsMessageData(message, transfer);
@@ -196,7 +198,7 @@
switch (transferable.kind) {
case "messagePort": {
const port = createMessagePort(transferable.data);
- transferables.push(port);
+ ArrayPrototypePush(transferables, port);
break;
}
default:
@@ -238,7 +240,10 @@
);
}
transferable[_id] = null;
- serializedTransferables.push({ kind: "messagePort", data: id });
+ ArrayPrototypePush(serializedTransferables, {
+ kind: "messagePort",
+ data: id,
+ });
} else {
throw new DOMException("Value not transferable", "DataCloneError");
}