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:
parent
b255a05f18
commit
c7804c06ad
2 changed files with 16 additions and 3 deletions
op_crates/web
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue