From 2738e944bc66957e4b17ef4eae9335eac3903007 Mon Sep 17 00:00:00 2001 From: Benjamin Gruenbaum Date: Thu, 28 May 2020 17:43:11 +0300 Subject: [PATCH] events: set target property to null --- lib/internal/event_target.js | 3 ++- test/parallel/test-eventtarget.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/internal/event_target.js b/lib/internal/event_target.js index 5ece72ea1d9433..5171368c59a0ad 100644 --- a/lib/internal/event_target.js +++ b/lib/internal/event_target.js @@ -60,6 +60,7 @@ class Event { enumerable: true, configurable: false }); + this[kTarget] = null; } [customInspectSymbol](depth, options) { @@ -241,7 +242,7 @@ class EventTarget { } if (this.#emitting.has(event.type) || - event[kTarget] !== undefined) { + event[kTarget] !== null) { throw new ERR_EVENT_RECURSION(event.type); } diff --git a/test/parallel/test-eventtarget.js b/test/parallel/test-eventtarget.js index c0e760d13b1369..ecc1fb91714485 100644 --- a/test/parallel/test-eventtarget.js +++ b/test/parallel/test-eventtarget.js @@ -370,6 +370,7 @@ ok(EventTarget); { const target = new EventTarget(); const event = new Event('foo'); + strictEqual(event.target, null); target.addEventListener('foo', common.mustCall((event) => { strictEqual(event.target, target); strictEqual(event.currentTarget, target);