summaryrefslogtreecommitdiff
path: root/op_crates/web
diff options
context:
space:
mode:
authorBenjamin Gruenbaum <benjamingr@gmail.com>2020-11-10 22:26:58 +0200
committerGitHub <noreply@github.com>2020-11-10 15:26:58 -0500
commitc7804c06adb44127b93ef45d9fc9eb0ef255fc3f (patch)
tree175f155db8b50f3e42df858fad07c961b11c5281 /op_crates/web
parentb255a05f189bfd96eccc813130f6cb9e1698d019 (diff)
fix(op_crates/web) make isTrusted not constructable (#8337)
Diffstat (limited to 'op_crates/web')
-rw-r--r--op_crates/web/01_event.js8
-rw-r--r--op_crates/web/event_test.js11
2 files changed, 16 insertions, 3 deletions
diff --git a/op_crates/web/01_event.js b/op_crates/web/01_event.js
index 8a4e79059..ed76a4281 100644
--- a/op_crates/web/01_event.js
+++ b/op_crates/web/01_event.js
@@ -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;
diff --git a/op_crates/web/event_test.js b/op_crates/web/event_test.js
index f533d78fb..8107f3bca 100644
--- a/op_crates/web/event_test.js
+++ b/op_crates/web/event_test.js
@@ -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();