From a37338779b396a16690088495640e6f0d814396b Mon Sep 17 00:00:00 2001 From: Bashamega Date: Sat, 27 Dec 2025 08:05:31 +0200 Subject: [PATCH 1/2] Migrate EventListenerObject --- inputfiles/addedTypes.jsonc | 13 ------------- inputfiles/patches/dom.kdl | 6 ++++++ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/inputfiles/addedTypes.jsonc b/inputfiles/addedTypes.jsonc index 98f5d020c..103a7e666 100644 --- a/inputfiles/addedTypes.jsonc +++ b/inputfiles/addedTypes.jsonc @@ -234,19 +234,6 @@ "extends": "DOMRect", "noInterfaceObject": true }, - "EventListenerObject": { - "name": "EventListenerObject", - "noInterfaceObject": true, - "methods": { - "method": { - "handleEvent": { - "overrideSignatures": [ - "handleEvent(object: Event): void" - ] - } - } - } - }, "Document": { "methods": { "method": { diff --git a/inputfiles/patches/dom.kdl b/inputfiles/patches/dom.kdl index 01bb7d1c3..74d5b093e 100644 --- a/inputfiles/patches/dom.kdl +++ b/inputfiles/patches/dom.kdl @@ -5,6 +5,12 @@ interface EventListener noInterfaceObject=#true { } } +interface EventListenerObject noInterfaceObject=#true { + method handleEvent returns=void { + param object type=Event + } +} + enum InsertPosition { beforebegin beforeend From 1d2ef4b12fc92a90de1d0d75cd3cd525092e917c Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 27 Dec 2025 12:07:48 +0100 Subject: [PATCH 2/2] Change return type of EventListener methods to undefined --- inputfiles/patches/dom.kdl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/inputfiles/patches/dom.kdl b/inputfiles/patches/dom.kdl index 74d5b093e..146a24389 100644 --- a/inputfiles/patches/dom.kdl +++ b/inputfiles/patches/dom.kdl @@ -1,21 +1,21 @@ // Keeping EventListener and EventListenerObject isn't the most elegant way to handle the event listeners, but we need to keep the EventListener as an extendable interface for libraries like angular. interface EventListener noInterfaceObject=#true { - method "" returns=void { - param evt type=Event - } + method "" returns=undefined { + param evt type=Event + } } interface EventListenerObject noInterfaceObject=#true { - method handleEvent returns=void { - param object type=Event - } + method handleEvent returns=undefined { + param object type=Event + } } enum InsertPosition { - beforebegin - beforeend - afterbegin - afterend + beforebegin + beforeend + afterbegin + afterend } // ChildNode and ParentNode are actually defined as mixins, but because of their names they have historically been used as a sub-interface of Node.