diff --git a/lib/internal/event_target.js b/lib/internal/event_target.js index 825e1e8b2597ab..b7e49a08245b95 100644 --- a/lib/internal/event_target.js +++ b/lib/internal/event_target.js @@ -125,6 +125,10 @@ class Event { } stopImmediatePropagation() { + // Spec mention "stopImmediatePropagation should set both "stop propagation" + // and "stop immediate propagation" flags" + // cf: from https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation + this.stopPropagation(); this[kStop] = true; } diff --git a/test/parallel/test-eventtarget.js b/test/parallel/test-eventtarget.js index a85e2cd7f1b9f9..747a1e87f33792 100644 --- a/test/parallel/test-eventtarget.js +++ b/test/parallel/test-eventtarget.js @@ -267,7 +267,9 @@ let asyncTest = Promise.resolve(); { const target = new EventTarget(); const event = new Event('foo'); + strictEqual(event.cancelBubble, false); event.stopImmediatePropagation(); + strictEqual(event.cancelBubble, true); target.addEventListener('foo', common.mustNotCall()); target.dispatchEvent(event); }