summaryrefslogtreecommitdiff
path: root/runtime/js/99_main.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r--runtime/js/99_main.js15
1 files changed, 10 insertions, 5 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js
index ba2b36705..5a4d7e989 100644
--- a/runtime/js/99_main.js
+++ b/runtime/js/99_main.js
@@ -16,6 +16,7 @@ delete Object.prototype.__proto__;
ObjectDefineProperty,
ObjectDefineProperties,
ObjectFreeze,
+ ObjectPrototypeIsPrototypeOf,
ObjectSetPrototypeOf,
PromiseResolve,
Symbol,
@@ -142,7 +143,9 @@ delete Object.prototype.__proto__;
const msgEvent = new MessageEvent("message", {
cancelable: false,
data: message,
- ports: transferables.filter((t) => t instanceof MessagePort),
+ ports: transferables.filter((t) =>
+ ObjectPrototypeIsPrototypeOf(messagePort.MessagePortPrototype, t)
+ ),
});
try {
@@ -311,7 +314,7 @@ delete Object.prototype.__proto__;
configurable: true,
enumerable: true,
get() {
- webidl.assertBranded(this, Navigator);
+ webidl.assertBranded(this, NavigatorPrototype);
return webgpu.gpu;
},
},
@@ -319,11 +322,12 @@ delete Object.prototype.__proto__;
configurable: true,
enumerable: true,
get() {
- webidl.assertBranded(this, Navigator);
+ webidl.assertBranded(this, NavigatorPrototype);
return numCpus;
},
},
});
+ const NavigatorPrototype = Navigator.prototype;
class WorkerNavigator {
constructor() {
@@ -342,7 +346,7 @@ delete Object.prototype.__proto__;
configurable: true,
enumerable: true,
get() {
- webidl.assertBranded(this, WorkerNavigator);
+ webidl.assertBranded(this, WorkerNavigatorPrototype);
return webgpu.gpu;
},
},
@@ -350,11 +354,12 @@ delete Object.prototype.__proto__;
configurable: true,
enumerable: true,
get() {
- webidl.assertBranded(this, WorkerNavigator);
+ webidl.assertBranded(this, WorkerNavigatorPrototype);
return numCpus;
},
},
});
+ const WorkerNavigatorPrototype = WorkerNavigator.prototype;
// https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope
const windowOrWorkerGlobalScope = {