refactor: primordials for instanceof (#13527)

This commit is contained in:
Bartek Iwańczuk 2022-02-01 18:06:11 +01:00 committed by GitHub
parent abf89f8c46
commit 8176a4d166
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 1030 additions and 660 deletions

View file

@ -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 = {