1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-13 17:39:18 -05:00

fix(op_crates/web) make isTrusted not constructable (#8337)

This commit is contained in:
Benjamin Gruenbaum 2020-11-10 22:26:58 +02:00 committed by GitHub
parent b255a05f18
commit c7804c06ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 3 deletions

View file

@ -98,9 +98,11 @@
return "relatedTarget" in event;
}
function isTrusted() {
return eventData.get(this).isTrusted;
}
const isTrusted = Object.getOwnPropertyDescriptor({
get isTrusted() {
return eventData.get(this).isTrusted;
},
}, "isTrusted").get;
class Event {
#canceledFlag = false;

View file

@ -96,6 +96,16 @@ function eventIsTrusted() {
assert(desc1.get === desc2.get);
}
function eventIsTrustedGetterName() {
const { get } = Object.getOwnPropertyDescriptor(new Event("x"), "isTrusted");
assert(get.name === "get isTrusted");
try {
Reflect.construct(get);
throw new Error("Should not have reached here");
} catch (e) {
assert(e.message.includes("not a constructor"));
}
}
function main() {
eventInitializedWithType();
eventInitializedWithTypeAndDict();
@ -105,6 +115,7 @@ function main() {
eventPreventDefaultSuccess();
eventInitializedWithNonStringType();
eventIsTrusted();
eventIsTrustedGetterName();
}
main();