Skip to content

Unignore GlobalEventHandlers + WindowEventHandlers#3125

Draft
caugner wants to merge 4 commits intoopenwebdocs:mainfrom
caugner:fix-api-Element-base-test
Draft

Unignore GlobalEventHandlers + WindowEventHandlers#3125
caugner wants to merge 4 commits intoopenwebdocs:mainfrom
caugner:fix-api-Element-base-test

Conversation

@caugner
Copy link
Copy Markdown
Contributor

@caugner caugner commented Apr 1, 2026

Triggered by mdn/browser-compat-data#29376.

Summary

This change adds 546 features across 8 interfaces, and removes 63 features.

# api.Element (63 removed)
-afterscriptexecute
-animationcancel
-animationend
-animationiteration
-animationstart
-auxclick
-beforeinput
-beforematch
-beforescriptexecute
-beforexrselect
-blur
-click
-compositionend
-compositionstart
-compositionupdate
-contentvisibilityautostatechange
-contextmenu
-copy
-cut
-dblclick
-focus
-gotpointercapture
-input
-keydown
-keypress
-keyup
-lostpointercapture
-mousedown
-mouseenter
-mouseleave
-mousemove
-mouseout
-mouseover
-mouseup
-mousewheel
-paste
-pointercancel
-pointerdown
-pointerenter
-pointerleave
-pointermove
-pointerout
-pointerover
-pointerrawupdate
-pointerup
-scroll
-scrollend
-scrollsnapchange
-scrollsnapchanging
-securitypolicyviolation
-touchcancel
-touchend
-touchmove
-touchstart
-transitioncancel
-transitionend
-transitionrun
-transitionstart
-webkitmouseforcechanged
-webkitmouseforcedown
-webkitmouseforceup
-webkitmouseforcewillbegin
-wheel
# api.Document (106 added)
+abort
+animationcancel
+animationend
+animationiteration
+animationstart
+auxclick
+beforeinput
+beforematch
+beforetoggle
+beforexrselect
+blur
+cancel
+canplay
+canplaythrough
+change
+click
+close
+command
+contextlost
+contextmenu
+contextrestored
+copy
+cuechange
+cut
+dblclick
+drag
+dragend
+dragenter
+dragexit
+dragleave
+dragover
+dragstart
+drop
+durationchange
+emptied
+ended
+error
+fencedtreeclick
+focus
+formdata
+gotpointercapture
+input
+invalid
+keydown
+keypress
+keyup
+load
+loadeddata
+loadedmetadata
+loadend
+loadstart
+lostpointercapture
+mousedown
+mouseenter
+mouseleave
+mousemove
+mouseout
+mouseover
+mouseup
+mousewheel
+paste
+pause
+play
+playing
+pointercancel
+pointerdown
+pointerenter
+pointerleave
+pointermove
+pointerout
+pointerover
+pointerrawupdate
+pointerup
+progress
+ratechange
+reset
+resize
+search
+seeked
+seeking
+select
+selectstart
+slotchange
+snapchanged
+snapchanging
+stalled
+submit
+suspend
+timeupdate
+toggle
+touchcancel
+touchend
+touchforcechange
+touchmove
+touchstart
+transitioncancel
+transitionend
+transitionrun
+transitionstart
+volumechange
+waiting
+webkitanimationend
+webkitanimationiteration
+webkitanimationstart
+webkittransitionend
+wheel
# api.Window (50 added)
+paste
+pause
+play
+playing
+pointercancel
+pointerdown
+pointerenter
+pointerleave
+pointermove
+pointerout
+pointerover
+pointerrawupdate
+pointerup
+portalactivate
+progress
+ratechange
+reset
+scroll
+scrollend
+search
+securitypolicyviolation
+seeked
+seeking
+select
+selectionchange
+selectstart
+slotchange
+snapchanged
+snapchanging
+stalled
+submit
+suspend
+timeupdate
+toggle
+touchcancel
+touchend
+touchforcechange
+touchmove
+touchstart
+transitioncancel
+transitionend
+transitionrun
+transitionstart
+volumechange
+waiting
+webkitanimationend
+webkitanimationiteration
+webkitanimationstart
+webkittransitionend
+wheel
# api.HTMLBodyElement (21 added)
+afterprint
+beforeprint
+beforeunload
+gamepadconnected
+gamepaddisconnected
+hashchange
+languagechange
+message
+messageerror
+offline
+online
+pagehide
+pagereveal
+pageshow
+pageswap
+popstate
+portalactivate
+rejectionhandled
+storage
+unhandledrejection
+unload
# api.HTMLElement (109 added)
+abort
+afterscriptexecute
+animationcancel
+animationend
+animationiteration
+animationstart
+auxclick
+beforeinput
+beforematch
+beforescriptexecute
+beforexrselect
+blur
+cancel
+canplay
+canplaythrough
+click
+close
+compositionend
+compositionstart
+compositionupdate
+contentvisibilityautostatechange
+contextlost
+contextmenu
+contextrestored
+copy
+cuechange
+cut
+dblclick
+durationchange
+emptied
+ended
+fencedtreeclick
+focus
+formdata
+gotpointercapture
+input
+invalid
+keydown
+keypress
+keyup
+load
+loadeddata
+loadedmetadata
+loadend
+loadstart
+lostpointercapture
+mousedown
+mouseenter
+mouseleave
+mousemove
+mouseout
+mouseover
+mouseup
+mousewheel
+paste
+pause
+play
+playing
+pointercancel
+pointerdown
+pointerenter
+pointerleave
+pointermove
+pointerout
+pointerover
+pointerrawupdate
+pointerup
+progress
+ratechange
+reset
+resize
+scroll
+scrollend
+scrollsnapchange
+scrollsnapchanging
+search
+securitypolicyviolation
+seeked
+seeking
+select
+selectionchange
+selectstart
+slotchange
+snapchanged
+snapchanging
+stalled
+submit
+suspend
+timeupdate
+touchcancel
+touchend
+touchforcechange
+touchmove
+touchstart
+transitioncancel
+transitionend
+transitionrun
+transitionstart
+volumechange
+waiting
+webkitanimationend
+webkitanimationiteration
+webkitanimationstart
+webkitmouseforcechanged
+webkitmouseforcedown
+webkitmouseforceup
+webkitmouseforcewillbegin
+webkittransitionend
+wheel
# api.HTMLFrameSetElement (21 added)
+afterprint
+beforeprint
+beforeunload
+gamepadconnected
+gamepaddisconnected
+hashchange
+languagechange
+message
+messageerror
+offline
+online
+pagehide
+pagereveal
+pageshow
+pageswap
+popstate
+portalactivate
+rejectionhandled
+storage
+unhandledrejection
+unload
# api.MathMLElement (110 added)
+abort
+animationcancel
+animationend
+animationiteration
+animationstart
+auxclick
+beforeinput
+beforematch
+beforetoggle
+beforexrselect
+blur
+cancel
+canplay
+canplaythrough
+change
+click
+close
+command
+contextlost
+contextmenu
+contextrestored
+copy
+cuechange
+cut
+dblclick
+drag
+dragend
+dragenter
+dragexit
+dragleave
+dragover
+dragstart
+drop
+durationchange
+emptied
+ended
+error
+fencedtreeclick
+focus
+formdata
+gotpointercapture
+input
+invalid
+keydown
+keypress
+keyup
+load
+loadeddata
+loadedmetadata
+loadend
+loadstart
+lostpointercapture
+mousedown
+mouseenter
+mouseleave
+mousemove
+mouseout
+mouseover
+mouseup
+mousewheel
+paste
+pause
+play
+playing
+pointercancel
+pointerdown
+pointerenter
+pointerleave
+pointermove
+pointerout
+pointerover
+pointerrawupdate
+pointerup
+progress
+ratechange
+reset
+resize
+scroll
+scrollend
+search
+securitypolicyviolation
+seeked
+seeking
+select
+selectionchange
+selectstart
+slotchange
+snapchanged
+snapchanging
+stalled
+submit
+suspend
+timeupdate
+toggle
+touchcancel
+touchend
+touchforcechange
+touchmove
+touchstart
+transitioncancel
+transitionend
+transitionrun
+transitionstart
+volumechange
+waiting
+webkitanimationend
+webkitanimationiteration
+webkitanimationstart
+webkittransitionend
+wheel
# api.SVGElement (108 added)
+abort
+animationcancel
+animationend
+animationiteration
+animationstart
+auxclick
+beforeinput
+beforematch
+beforetoggle
+beforexrselect
+blur
+cancel
+canplay
+canplaythrough
+change
+click
+close
+command
+contextlost
+contextmenu
+contextrestored
+copy
+cuechange
+cut
+dblclick
+drag
+dragend
+dragenter
+dragexit
+dragleave
+dragover
+dragstart
+drop
+durationchange
+emptied
+ended
+fencedtreeclick
+focus
+formdata
+gotpointercapture
+input
+invalid
+keydown
+keypress
+keyup
+loadeddata
+loadedmetadata
+loadend
+loadstart
+lostpointercapture
+mousedown
+mouseenter
+mouseleave
+mousemove
+mouseout
+mouseover
+mouseup
+mousewheel
+paste
+pause
+play
+playing
+pointercancel
+pointerdown
+pointerenter
+pointerleave
+pointermove
+pointerout
+pointerover
+pointerrawupdate
+pointerup
+progress
+ratechange
+reset
+resize
+scroll
+scrollend
+search
+securitypolicyviolation
+seeked
+seeking
+select
+selectionchange
+selectstart
+slotchange
+snapchanged
+snapchanging
+stalled
+submit
+suspend
+timeupdate
+toggle
+touchcancel
+touchend
+touchforcechange
+touchmove
+touchstart
+transitioncancel
+transitionend
+transitionrun
+transitionstart
+volumechange
+waiting
+webkitanimationend
+webkitanimationiteration
+webkitanimationstart
+webkittransitionend
+wheel
# api.SVGSVGElement (21 added)
+afterprint
+beforeprint
+beforeunload
+gamepadconnected
+gamepaddisconnected
+hashchange
+languagechange
+message
+messageerror
+offline
+online
+pagehide
+pagereveal
+pageshow
+pageswap
+popstate
+portalactivate
+rejectionhandled
+storage
+unhandledrejection
+unload

@caugner

This comment was marked as outdated.

@caugner caugner closed this Apr 1, 2026
@caugner caugner reopened this Apr 1, 2026
@caugner caugner marked this pull request as draft April 1, 2026 09:32
@caugner caugner changed the title Update api.Element base to create HTML element Unignore GlobalEventHandlers + WindowEventHandlers Apr 1, 2026
@caugner
Copy link
Copy Markdown
Contributor Author

caugner commented Apr 1, 2026

I know the Global/WindowEventHandlers need a mapping before we can enable these again. We definitely don't want the collector to add these entries all over the place and that's why I skipped them in this PR.

@Elchi3 Is your comment still valid? Wouldn't it be correct to add these features?

@Elchi3
Copy link
Copy Markdown
Member

Elchi3 commented Apr 1, 2026

Still valid. See #1111

@caugner
Copy link
Copy Markdown
Contributor Author

caugner commented Apr 1, 2026

Thanks, I missed that issue.

If BCD has a foo_event key for one of those interfaces and there's an onfoo attribute in Web IDL for the same interface, then we should generate a test that simply checks for onfoo on the prototype or an instance.

IIUC we only want tests for events already tracked in BCD? If so, wouldn't this mean we have to split api.Element.animationcancel_event up into api.{HTML,MathML,SVG}Element.animationcancel_event in BCD first, before we can test it with the collector? Or do we intentionally record it as a subfeature of Element to avoid duplication?

@Elchi3
Copy link
Copy Markdown
Member

Elchi3 commented Apr 1, 2026

Or do we intentionally record it as a subfeature of Element to avoid duplication?

This is the idea but I think it is more complex than this, so we want to do a mapping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants