diff --git a/lib/internal/worker/io.js b/lib/internal/worker/io.js index 6f4348f11d2ddb..e46179aa4ea519 100644 --- a/lib/internal/worker/io.js +++ b/lib/internal/worker/io.js @@ -135,8 +135,9 @@ class MessageEvent extends Event { lastEventId = '', source = null, ports = [], + ...init } = kEmptyObject) { - super(type); + super(type, init); this[kData] = data; this[kOrigin] = `${origin}`; this[kLastEventId] = `${lastEventId}`; diff --git a/test/parallel/test-worker-message-event.js b/test/parallel/test-worker-message-event.js index 8ea08145a1d0a2..65e4a695790292 100644 --- a/test/parallel/test-worker-message-event.js +++ b/test/parallel/test-worker-message-event.js @@ -92,3 +92,12 @@ const dummyPort = new MessageChannel().port1; { assert(new MessageEvent('message') instanceof Event); } + +{ + // https://github.com/nodejs/node/issues/51767 + const event = new MessageEvent('type', { cancelable: true }); + event.preventDefault(); + + assert(event.cancelable); + assert(event.defaultPrevented); +}