events: fix event-target enumerable keys

PR-URL: https://github.com/nodejs/node/pull/33616
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
Benjamin Gruenbaum authored and Ruben Bridgewater committed 2020-05-30 04:38:46 +02:00
1 parent 56e44601d2
commit 2d071e767d
2 files changed
+11 -2

No files matched your search

+7 -1
View File
@@ -51,6 +51,13 @@ class Event {
this.#bubbles = !!bubbles;
this.#composed = !!composed;
this.#type = String(type);
// isTrusted is special (LegacyUnforgeable)
Object.defineProperty(this, 'isTrusted', {
get() { return false; },
set(ignoredValue) { return false; },
enumerable: true,
configurable: false
});
}
[customInspectSymbol](depth, options) {
@@ -99,7 +106,6 @@ class Event {
get returnValue() { return !this.defaultPrevented; }
get bubbles() { return this.#bubbles; }
get composed() { return this.#composed; }
get isTrusted() { return false; }
get eventPhase() {
return this[kTarget] ? 2 : 0; // Equivalent to AT_TARGET or NONE
}
+4 -1
View File
@@ -50,7 +50,10 @@ ok(EventTarget);
ev.preventDefault();
strictEqual(ev.defaultPrevented, true);
}
{
const ev = new Event('foo');
deepStrictEqual(Object.keys(ev), ['isTrusted']);
}
{
const eventTarget = new EventTarget();