Skip to content

Commit 1b8d4e4

Browse files
jasnelldanielleadams
authored andcommitted
events: propagate weak option for kNewListener
Signed-off-by: James M Snell <[email protected]> PR-URL: #40899 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
1 parent 681edbe commit 1b8d4e4

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

lib/internal/event_target.js

+11-4
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ class EventTarget {
371371
initEventTarget(this);
372372
}
373373

374-
[kNewListener](size, type, listener, once, capture, passive) {
374+
[kNewListener](size, type, listener, once, capture, passive, weak) {
375375
if (this[kMaxEventTargetListeners] > 0 &&
376376
size > this[kMaxEventTargetListeners] &&
377377
!this[kMaxEventTargetListenersWarned]) {
@@ -440,7 +440,14 @@ class EventTarget {
440440
// This is the first handler in our linked list.
441441
new Listener(root, listener, once, capture, passive,
442442
isNodeStyleListener, weak);
443-
this[kNewListener](root.size, type, listener, once, capture, passive);
443+
this[kNewListener](
444+
root.size,
445+
type,
446+
listener,
447+
once,
448+
capture,
449+
passive,
450+
weak);
444451
this[kEvents].set(type, root);
445452
return;
446453
}
@@ -461,7 +468,7 @@ class EventTarget {
461468
new Listener(previous, listener, once, capture, passive,
462469
isNodeStyleListener, weak);
463470
root.size++;
464-
this[kNewListener](root.size, type, listener, once, capture, passive);
471+
this[kNewListener](root.size, type, listener, once, capture, passive, weak);
465472
}
466473

467474
removeEventListener(type, listener, options = {}) {
@@ -811,7 +818,7 @@ function defineEventHandler(emitter, name) {
811818
if (typeof wrappedHandler.handler === 'function') {
812819
this[kEvents].get(name).size++;
813820
const size = this[kEvents].get(name).size;
814-
this[kNewListener](size, name, value, false, false, false);
821+
this[kNewListener](size, name, value, false, false, false, false);
815822
}
816823
} else {
817824
wrappedHandler = makeEventHandler(value);

0 commit comments

Comments
 (0)