[XSS] Updated HTML events matching generation to use both latest Mozilla source code and archived data since Firefox ESR 52.

This commit is contained in:
hackademix 2018-08-18 11:38:39 +02:00
parent 6eee6147eb
commit ee48e5c7d9
11 changed files with 2723 additions and 12 deletions

View File

@ -0,0 +1,8 @@
#!/bin/bash
ARCHIVE=html5_events_archive.txt
if [ -f "$ARCHIVE" ]; then
echo >&2 "$ARCHIVE already exists!"
exit 1
fi
cat historical/*_events.txt | sort | uniq | egrep -v '^only$' > "$ARCHIVE"
echo "$ARCHIVE generated."

View File

@ -0,0 +1,298 @@
onabort
onmozaccesskeynotfound
onactivate
onafterprint
onafterscriptexecute
onanimationcancel
onanimationend
onanimationiteration
onanimationstart
onAppCommand
onappinstalled
onaudioprocess
onauxclick
onbeforecopy
onbeforecut
onbeforepaste
onbeforeprint
onbeforescriptexecute
onbeforeunload
onblocked
onblur
onbounce
onbroadcast
onbufferedamountlow
oncached
oncancel
onchange
onchargingchange
onchargingtimechange
onchecking
onCheckboxStateChange
onclick
onclose
oncommand
oncommandupdate
oncomplete
oncompositionend
oncompositionstart
oncompositionupdate
onconnect
onconnectionavailable
oncontextmenu
oncopy
oncut
ondblclick
ondischargingtimechange
ondownloading
onDOMActivate
onDOMAttrModified
onDOMCharacterDataModified
onDOMFocusIn
onDOMFocusOut
onDOMMouseScroll
onDOMNodeInserted
onDOMNodeInsertedIntoDocument
onDOMNodeRemoved
onDOMNodeRemovedFromDocument
onDOMSubtreeModified
ondata
ondrag
ondragdrop
ondragend
ondragenter
ondragexit
ondragleave
ondragover
ondragstart
ondrain
ondrop
onerror
onfinish
onfocus
onfocusin
onfocusout
onfullscreenchange
onfullscreenerror
onget
onhashchange
oninput
oninstall
oninvalid
onkeydown
onkeypress
onkeyup
onlanguagechange
onlevelchange
onload
onloading
onloadingdone
onloadingerror
onpopstate
onmessage
onmessageerror
onmidimessage
onmousedown
onmouseenter
onmouseleave
onmouselongtap
onmousemove
onmouseout
onmouseover
onMozMouseHittest
onmouseup
onMozAfterPaint
onmozfullscreenchange
onmozfullscreenerror
onmozkeydownonplugin
onmozkeyuponplugin
onmozpointerlockchange
onmozpointerlockerror
onMozMousePixelScroll
onMozScrolledAreaChanged
onmute
onnotificationclick
onnotificationclose
onnoupdate
onobsolete
ononline
onoffline
onopen
onorientationchange
onoverflow
onpagehide
onpageshow
onpaste
onpaymentmethodchange
onpointerlockchange
onpointerlockerror
onpopuphidden
onpopuphiding
onpopuppositioned
onpopupshowing
onpopupshown
onprocessorerror
onpush
onpushsubscriptionchange
onRadioStateChange
onreadystatechange
onrequestprogress
onresourcetimingbufferfull
onresponseprogress
onRequest
onreset
onresize
onscroll
onselect
onselectionchange
onselectstart
onset
onshippingaddresschange
onshippingoptionchange
onshow
onstatechange
onstorage
onsubmit
onsuccess
ontypechange
onterminate
ontext
ontoggle
ontouchstart
ontouchend
ontouchmove
ontouchcancel
ontransitioncancel
ontransitionend
ontransitionrun
ontransitionstart
onunderflow
onunload
onunmute
onupdatefound
onupdateready
onupgradeneeded
onversionchange
onvisibilitychange
onvoiceschanged
onvrdisplayactivate
onvrdisplayconnect
onvrdisplaydeactivate
onvrdisplaydisconnect
onvrdisplaypresentchange
onwebkitAnimationEnd
onwebkitAnimationIteration
onwebkitAnimationStart
onwebkitTransitionEnd
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onwheel
onSVGLoad
onSVGResize
onSVGScroll
onSVGUnload
onSVGZoom
onzoom
onbegin
onbeginEvent
onend
onendEvent
onrepeat
onrepeatEvent
onMozSwipeGestureMayStart
onMozSwipeGestureStart
onMozSwipeGestureUpdate
onMozSwipeGestureEnd
onMozSwipeGesture
onMozMagnifyGestureStart
onMozMagnifyGestureUpdate
onMozMagnifyGesture
onMozRotateGestureStart
onMozRotateGestureUpdate
onMozRotateGesture
onMozTapGesture
onMozPressTapGesture
onMozEdgeUIStarted
onMozEdgeUICanceled
onMozEdgeUICompleted
onpointerdown
onpointermove
onpointerup
onpointercancel
onpointerover
onpointerout
onpointerenter
onpointerleave
ongotpointercapture
onlostpointercapture
ondevicemotion
ondeviceorientation
onabsolutedeviceorientation
ondeviceproximity
onmozorientationchange
onuserproximity
ondevicelight
ondevicechange
onloadend
onloadstart
onprogress
onsuspend
onemptied
onstalled
onplay
onpause
onloadedmetadata
onloadeddata
onwaiting
onplaying
oncanplay
oncanplaythrough
onseeking
onseeked
ontimeout
ontimeupdate
onended
onratechange
ondurationchange
onvolumechange
onaddtrack
oncontrollerchange
oncuechange
onenter
onexit
onencrypted
onwaitingforkey
onkeystatuseschange
onremovetrack
ondataavailable
onwarning
onstart
onstop
onphoto
ongamepadbuttondown
ongamepadbuttonup
ongamepadaxismove
ongamepadconnected
ongamepaddisconnected
onfetch
onaudiostart
onaudioend
onsoundstart
onsoundend
onspeechstart
onspeechend
onresult
onnomatch
onresume
onmark
onboundary
onsourceopen
onsourceended
onsourceclosed
onupdatestart
onupdate
onupdateend
onaddsourcebuffer
onremovesourcebuffer

View File

@ -0,0 +1,392 @@
ona2dpstatuschanged
onabort
onmozaccesskeynotfound
onactivate
onadapteradded
onadapterremoved
onafterprint
onafterscriptexecute
onalerting
onanimationcancel
onanimationend
onanimationiteration
onanimationstart
onantennaavailablechange
onAppCommand
onappinstalled
onattributechanged
onattributereadreq
onattributewritereq
onaudioprocess
onauxclick
onbeforecopy
onbeforecut
onbeforepaste
onbeforeevicted
onbeforeprint
onbeforescriptexecute
onbeforeunload
onblocked
onblur
onbroadcast
onbusy
onbufferedamountlow
oncached
oncallschanged
oncancel
oncardstatechange
oncfstatechange
onchange
oncharacteristicchanged
onchargingchange
onchargingtimechange
onchecking
onclick
onclirmodechange
onclose
oncommand
oncommandupdate
oncomplete
oncompositionend
oncompositionstart
oncompositionupdate
onconnect
onconnected
onconnecting
onconnectionavailable
onconnectionstatechanged
oncontextmenu
oncopy
oncurrentchannelchanged
oncurrentsourcechanged
oncut
ondatachange
ondataerror
ondblclick
ondeleted
ondeliverysuccess
ondeliveryerror
ondevicefound
ondevicepaired
ondeviceunpaired
ondialing
ondisabled
ondischargingtimechange
ondisconnect
ondisconnected
ondisconnecting
ondisplaypasskeyreq
ondownloading
onDOMActivate
onDOMAttrModified
onDOMCharacterDataModified
onDOMFocusIn
onDOMFocusOut
onDOMMouseScroll
onDOMNodeInserted
onDOMNodeInsertedIntoDocument
onDOMNodeRemoved
onDOMNodeRemovedFromDocument
onDOMSubtreeModified
ondata
ondrag
ondragdrop
ondragend
ondragenter
ondragexit
ondraggesture
ondragleave
ondragover
ondragstart
ondrain
ondrop
oneitbroadcasted
onenabled
onenterpincodereq
onemergencycbmodechange
onerror
onevicted
onfailed
onfetch
onfinish
onfocus
onfocusin
onfocusout
onfrequencychange
onfullscreenchange
onfullscreenerror
onspeakerforcedchange
onget
ongroupchange
onhashchange
onheadphoneschange
onheld
onhfpstatuschanged
onhidstatuschanged
onholding
oniccchange
oniccdetected
oniccinfochange
oniccundetected
onincoming
oninput
oninstall
oninvalid
onkeydown
onkeypress
onkeyup
onlanguagechange
onlevelchange
onLoad
onload
onloading
onloadingdone
onloadingerror
onpopstate
only
onmessage
onmousedown
onmouseenter
onmouseleave
onmouselongtap
onmousemove
onmouseout
onmouseover
onMozMouseHittest
onmouseup
onMozAfterPaint
onmozfullscreenchange
onmozfullscreenerror
onmozkeydownonplugin
onmozkeyuponplugin
onmozpointerlockchange
onmozpointerlockerror
onmoztimechange
onMozMousePixelScroll
onMozScrolledAreaChanged
onmoznetworkupload
onmoznetworkdownload
onmapfolderlistingreq
onmapmessageslistingreq
onmapgetmessagereq
onmapsetmessagestatusreq
onmapsendmessagereq
onmapmessageupdatereq
onnewrdsgroup
onnotificationclick
onnotificationclose
onnoupdate
onobexpasswordreq
onobsolete
ononline
onoffline
onopen
onorientationchange
onotastatuschange
onoverflow
onoverflowchanged
onpagehide
onpageshow
onpaint
onpairingaborted
onpairingconfirmationreq
onpairingconsentreq
onpaste
onpendingchange
onpichange
onpointerlockchange
onpointerlockerror
onpopuphidden
onpopuphiding
onpopuppositioned
onpopupshowing
onpopupshown
onpullphonebookreq
onpullvcardentryreq
onpullvcardlistingreq
onpush
onpushsubscriptionchange
onpschange
onptychange
onradiostatechange
onrdsdisabled
onrdsenabled
onreaderror
onreadsuccess
onready
onreadystatechange
onreceived
onremoteheld
onremoteresumed
onresourcetimingbufferfull
onretrieving
onRequest
onrequestmediaplaystatus
onreset
onresuming
onresize
onrtchange
onscanningstatechanged
onscostatuschanged
onscroll
onselect
onselectionchange
onselectstart
onsending
onsent
onset
onshow
onstatechange
onstatuschanged
onstkcommand
onstksessionend
onstorage
onstorageareachanged
onsubmit
onsuccess
ontypechange
onterminate
ontext
ontoggle
ontouchstart
ontouchend
ontouchmove
ontouchcancel
ontransitioncancel
ontransitionend
ontransitionrun
ontransitionstart
onunderflow
onunload
onupdatefound
onupdateready
onupgradeneeded
onussdreceived
onversionchange
onvoicechange
onvoiceschanged
onvrdisplayactivate
onvrdisplayconnect
onvrdisplaydeactivate
onvrdisplaydisconnect
onvrdisplaypresentchange
onwebkitAnimationEnd
onwebkitAnimationIteration
onwebkitAnimationStart
onwebkitTransitionEnd
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onwebsocket
onwheel
onreloadpage
onSVGLoad
onSVGResize
onSVGScroll
onSVGUnload
onSVGZoom
onzoom
onbegin
onbeginEvent
onend
onendEvent
onrepeat
onrepeatEvent
onMozSwipeGestureMayStart
onMozSwipeGestureStart
onMozSwipeGestureUpdate
onMozSwipeGestureEnd
onMozSwipeGesture
onMozMagnifyGestureStart
onMozMagnifyGestureUpdate
onMozMagnifyGesture
onMozRotateGestureStart
onMozRotateGestureUpdate
onMozRotateGesture
onMozTapGesture
onMozPressTapGesture
onMozEdgeUIStarted
onMozEdgeUICanceled
onMozEdgeUICompleted
onpointerdown
onpointermove
onpointerup
onpointercancel
onpointerover
onpointerout
onpointerenter
onpointerleave
ongotpointercapture
onlostpointercapture
ondevicemotion
ondeviceorientation
onabsolutedeviceorientation
ondeviceproximity
onmozorientationchange
onuserproximity
ondevicelight
onmozinterruptbegin
onmozinterruptend
ondevicechange
onloadend
onloadstart
onprogress
onsuspend
onemptied
onstalled
onplay
onpause
onloadedmetadata
onloadeddata
onwaiting
onplaying
oncanplay
oncanplaythrough
onseeking
onseeked
ontimeout
ontimeupdate
onended
onratechange
ondurationchange
onvolumechange
onaddtrack
oncontrollerchange
oncuechange
onenter
onexit
onencrypted
onwaitingforkey
onkeystatuseschange
onremovetrack
ondataavailable
onwarning
onstart
onstop
onphoto
onactivestatechanged
ongamepadbuttondown
ongamepadbuttonup
ongamepadaxismove
ongamepadconnected
ongamepaddisconnected
onaudiostart
onaudioend
onsoundstart
onsoundend
onspeechstart
onspeechend
onresult
onnomatch
onresume
onmark
onboundary
onsourceopen
onsourceended
onsourceclosed
onupdatestart
onupdate
onupdateend
onaddsourcebuffer
onremovesourcebuffer

View File

@ -0,0 +1,399 @@
ona2dpstatuschanged
onabort
onmozaccesskeynotfound
onactivate
onadapteradded
onadapterremoved
onafterprint
onafterscriptexecute
onalerting
onanimationcancel
onanimationend
onanimationiteration
onanimationstart
onantennaavailablechange
onAppCommand
onappinstalled
onattributechanged
onattributereadreq
onattributewritereq
onaudioprocess
onauxclick
onbeforecopy
onbeforecut
onbeforepaste
onbeforeevicted
onbeforeprint
onbeforescriptexecute
onbeforeunload
onblocked
onblur
onbroadcast
onbusy
onbufferedamountlow
oncached
oncallschanged
oncancel
oncardstatechange
oncfstatechange
onchange
oncharacteristicchanged
onchargingchange
onchargingtimechange
onchecking
onCheckboxStateChange
onclick
onclirmodechange
onclose
oncommand
oncommandupdate
oncomplete
oncompositionend
oncompositionstart
oncompositionupdate
onconnect
onconnected
onconnecting
onconnectionavailable
onconnectionstatechanged
oncontextmenu
oncopy
oncurrentchannelchanged
oncurrentsourcechanged
oncut
ondatachange
ondataerror
ondblclick
ondeleted
ondeliverysuccess
ondeliveryerror
ondevicefound
ondevicepaired
ondeviceunpaired
ondialing
ondisabled
ondischargingtimechange
ondisconnect
ondisconnected
ondisconnecting
ondisplaypasskeyreq
ondownloading
onDOMActivate
onDOMAttrModified
onDOMCharacterDataModified
onDOMFocusIn
onDOMFocusOut
onDOMMouseScroll
onDOMNodeInserted
onDOMNodeInsertedIntoDocument
onDOMNodeRemoved
onDOMNodeRemovedFromDocument
onDOMSubtreeModified
ondata
ondrag
ondragdrop
ondragend
ondragenter
ondragexit
ondraggesture
ondragleave
ondragover
ondragstart
ondrain
ondrop
oneitbroadcasted
onenabled
onenterpincodereq
onemergencycbmodechange
onerror
onevicted
onfailed
onfetch
onfinish
onfocus
onfocusin
onfocusout
onfrequencychange
onfullscreenchange
onfullscreenerror
onspeakerforcedchange
onget
ongroupchange
onhashchange
onheadphoneschange
onheld
onhfpstatuschanged
onhidstatuschanged
onholding
oniccchange
oniccdetected
oniccinfochange
oniccundetected
onincoming
oninput
oninstall
oninvalid
onkeydown
onkeypress
onkeyup
onlanguagechange
onlevelchange
onLoad
onload
onloading
onloadingdone
onloadingerror
onpopstate
only
onmessage
onmessageerror
onmidimessage
onmousedown
onmouseenter
onmouseleave
onmouselongtap
onmousemove
onmouseout
onmouseover
onMozMouseHittest
onmouseup
onMozAfterPaint
onmozfullscreenchange
onmozfullscreenerror
onmozkeydownonplugin
onmozkeyuponplugin
onmozpointerlockchange
onmozpointerlockerror
onMozMousePixelScroll
onMozScrolledAreaChanged
onmapfolderlistingreq
onmapmessageslistingreq
onmapgetmessagereq
onmapsetmessagestatusreq
onmapsendmessagereq
onmapmessageupdatereq
onmute
onnewrdsgroup
onnotificationclick
onnotificationclose
onnoupdate
onobexpasswordreq
onobsolete
ononline
onoffline
onopen
onorientationchange
onotastatuschange
onoverflow
onoverflowchanged
onpagehide
onpageshow
onpaint
onpairingaborted
onpairingconfirmationreq
onpairingconsentreq
onpaste
onpendingchange
onpichange
onpointerlockchange
onpointerlockerror
onpopuphidden
onpopuphiding
onpopuppositioned
onpopupshowing
onpopupshown
onpullphonebookreq
onpullvcardentryreq
onpullvcardlistingreq
onpush
onpushsubscriptionchange
onpschange
onptychange
onradiostatechange
onRadioStateChange
onrdsdisabled
onrdsenabled
onreaderror
onreadsuccess
onready
onreadystatechange
onreceived
onremoteheld
onremoteresumed
onrequestprogress
onresourcetimingbufferfull
onresponseprogress
onretrieving
onRequest
onrequestmediaplaystatus
onreset
onresuming
onresize
onrtchange
onscanningstatechanged
onscostatuschanged
onscroll
onselect
onselectionchange
onselectstart
onsending
onsent
onset
onshippingaddresschange
onshippingoptionchange
onshow
onstatechange
onstatuschanged
onstkcommand
onstksessionend
onstorage
onstorageareachanged
onsubmit
onsuccess
ontypechange
onterminate
ontext
ontoggle
ontouchstart
ontouchend
ontouchmove
ontouchcancel
ontransitioncancel
ontransitionend
ontransitionrun
ontransitionstart
onunderflow
onunload
onunmute
onupdatefound
onupdateready
onupgradeneeded
onussdreceived
onversionchange
onvisibilitychange
onvoicechange
onvoiceschanged
onvrdisplayactivate
onvrdisplayconnect
onvrdisplaydeactivate
onvrdisplaydisconnect
onvrdisplaypresentchange
onwebkitAnimationEnd
onwebkitAnimationIteration
onwebkitAnimationStart
onwebkitTransitionEnd
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onwebsocket
onwheel
onreloadpage
onSVGLoad
onSVGResize
onSVGScroll
onSVGUnload
onSVGZoom
onzoom
onbegin
onbeginEvent
onend
onendEvent
onrepeat
onrepeatEvent
onMozSwipeGestureMayStart
onMozSwipeGestureStart
onMozSwipeGestureUpdate
onMozSwipeGestureEnd
onMozSwipeGesture
onMozMagnifyGestureStart
onMozMagnifyGestureUpdate
onMozMagnifyGesture
onMozRotateGestureStart
onMozRotateGestureUpdate
onMozRotateGesture
onMozTapGesture
onMozPressTapGesture
onMozEdgeUIStarted
onMozEdgeUICanceled
onMozEdgeUICompleted
onpointerdown
onpointermove
onpointerup
onpointercancel
onpointerover
onpointerout
onpointerenter
onpointerleave
ongotpointercapture
onlostpointercapture
ondevicemotion
ondeviceorientation
onabsolutedeviceorientation
ondeviceproximity
onmozorientationchange
onuserproximity
ondevicelight
ondevicechange
onloadend
onloadstart
onprogress
onsuspend
onemptied
onstalled
onplay
onpause
onloadedmetadata
onloadeddata
onwaiting
onplaying
oncanplay
oncanplaythrough
onseeking
onseeked
ontimeout
ontimeupdate
onended
onratechange
ondurationchange
onvolumechange
onaddtrack
oncontrollerchange
oncuechange
onenter
onexit
onencrypted
onwaitingforkey
onkeystatuseschange
onremovetrack
ondataavailable
onwarning
onstart
onstop
onphoto
onactivestatechanged
ongamepadbuttondown
ongamepadbuttonup
ongamepadaxismove
ongamepadconnected
ongamepaddisconnected
onaudiostart
onaudioend
onsoundstart
onsoundend
onspeechstart
onspeechend
onresult
onnomatch
onresume
onmark
onboundary
onsourceopen
onsourceended
onsourceclosed
onupdatestart
onupdate
onupdateend
onaddsourcebuffer
onremovesourcebuffer
onmousewheel

View File

@ -0,0 +1,391 @@
ona2dpstatuschanged
onabort
onmozaccesskeynotfound
onactivate
onadapteradded
onadapterremoved
onafterprint
onafterscriptexecute
onalerting
onanimationend
onanimationiteration
onanimationstart
onantennaavailablechange
onAppCommand
onappinstalled
onattributechanged
onattributereadreq
onattributewritereq
onaudioprocess
onbeforecopy
onbeforecut
onbeforepaste
onbeforeevicted
onbeforeprint
onbeforescriptexecute
onbeforeunload
onblocked
onblur
onbroadcast
onbusy
onbufferedamountlow
oncached
oncallschanged
oncancel
oncardstatechange
oncfstatechange
onchange
oncharacteristicchanged
onchargingchange
onchargingtimechange
onchecking
onclick
onclirmodechange
onclose
oncommand
oncommandupdate
oncomplete
oncompositionend
oncompositionstart
oncompositionupdate
onconnect
onconnected
onconnecting
onconnectionavailable
onconnectionstatechanged
oncontextmenu
oncopy
oncurrentchannelchanged
oncurrentsourcechanged
oncut
ondatachange
ondataerror
ondblclick
ondeleted
ondeliverysuccess
ondeliveryerror
ondevicefound
ondevicepaired
ondeviceunpaired
ondialing
ondisabled
ondischargingtimechange
ondisconnect
ondisconnected
ondisconnecting
ondisplaypasskeyreq
ondownloading
onDOMActivate
onDOMAttrModified
onDOMCharacterDataModified
onDOMFocusIn
onDOMFocusOut
onDOMMouseScroll
onDOMNodeInserted
onDOMNodeInsertedIntoDocument
onDOMNodeRemoved
onDOMNodeRemovedFromDocument
onDOMSubtreeModified
ondata
ondrag
ondragdrop
ondragend
ondragenter
ondragexit
ondraggesture
ondragleave
ondragover
ondragstart
ondrain
ondrop
oneitbroadcasted
onenabled
onenterpincodereq
onemergencycbmodechange
onerror
onevicted
onfailed
onfetch
onfinish
onfocus
onfocusin
onfocusout
onfrequencychange
onfullscreenchange
onfullscreenerror
onspeakerforcedchange
onget
ongroupchange
onhashchange
onheadphoneschange
onheld
onhfpstatuschanged
onhidstatuschanged
onholding
oniccchange
oniccdetected
oniccinfochange
oniccundetected
onincoming
oninput
oninstall
oninvalid
onkeydown
onkeypress
onkeyup
onlanguagechange
onlevelchange
onLoad
onload
onloading
onloadingdone
onloadingerror
onpopstate
only
onmessage
onmousedown
onmouseenter
onmouseleave
onmouselongtap
onmousemove
onmouseout
onmouseover
onMozMouseHittest
onmouseup
onMozAfterPaint
onmozbrowserafterkeydown
onmozbrowserafterkeyup
onmozbrowserbeforekeydown
onmozbrowserbeforekeyup
onmozfullscreenchange
onmozfullscreenerror
onmozkeydownonplugin
onmozkeyuponplugin
onmozpointerlockchange
onmozpointerlockerror
onmoztimechange
onMozMousePixelScroll
onMozScrolledAreaChanged
onmoznetworkupload
onmoznetworkdownload
onmapfolderlistingreq
onmapmessageslistingreq
onmapgetmessagereq
onmapsetmessagestatusreq
onmapsendmessagereq
onmapmessageupdatereq
onnewrdsgroup
onnotificationclick
onnotificationclose
onnoupdate
onobexpasswordreq
onobsolete
ononline
onoffline
onopen
onorientationchange
onotastatuschange
onoverflow
onoverflowchanged
onpagehide
onpageshow
onpaint
onpairingaborted
onpairingconfirmationreq
onpairingconsentreq
onpaste
onpendingchange
onpichange
onpointerlockchange
onpointerlockerror
onpopuphidden
onpopuphiding
onpopuppositioned
onpopupshowing
onpopupshown
onpullphonebookreq
onpullvcardentryreq
onpullvcardlistingreq
onpush
onpushsubscriptionchange
onpschange
onptychange
onradiostatechange
onrdsdisabled
onrdsenabled
onreaderror
onreadsuccess
onready
onreadystatechange
onreceived
onremoteheld
onremoteresumed
onresourcetimingbufferfull
onretrieving
onRequest
onrequestmediaplaystatus
onreset
onresuming
onresize
onrtchange
onscanningstatechanged
onscostatuschanged
onscroll
onselect
onselectionchange
onselectstart
onsending
onsent
onset
onshow
onstatechange
onstatuschanged
onstkcommand
onstksessionend
onstorage
onstorageareachanged
onsubmit
onsuccess
ontypechange
onterminate
ontext
ontoggle
ontouchstart
ontouchend
ontouchmove
ontouchcancel
ontransitionend
ontransitionrun
ontransitionstart
onunderflow
onunload
onupdatefound
onupdateready
onupgradeneeded
onussdreceived
onversionchange
onvoicechange
onvoiceschanged
onvrdisplayconnect
onvrdisplaydisconnect
onvrdisplaypresentchange
onwebkitAnimationEnd
onwebkitAnimationIteration
onwebkitAnimationStart
onwebkitTransitionEnd
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onwebsocket
onwheel
onreloadpage
onSVGLoad
onSVGResize
onSVGScroll
onSVGUnload
onSVGZoom
onzoom
onbegin
onbeginEvent
onend
onendEvent
onrepeat
onrepeatEvent
onMozSwipeGestureMayStart
onMozSwipeGestureStart
onMozSwipeGestureUpdate
onMozSwipeGestureEnd
onMozSwipeGesture
onMozMagnifyGestureStart
onMozMagnifyGestureUpdate
onMozMagnifyGesture
onMozRotateGestureStart
onMozRotateGestureUpdate
onMozRotateGesture
onMozTapGesture
onMozPressTapGesture
onMozEdgeUIStarted
onMozEdgeUICanceled
onMozEdgeUICompleted
onpointerdown
onpointermove
onpointerup
onpointercancel
onpointerover
onpointerout
onpointerenter
onpointerleave
ongotpointercapture
onlostpointercapture
ondevicemotion
ondeviceorientation
onabsolutedeviceorientation
ondeviceproximity
onmozorientationchange
onuserproximity
ondevicelight
onmozinterruptbegin
onmozinterruptend
ondevicechange
onloadend
onloadstart
onprogress
onsuspend
onemptied
onstalled
onplay
onpause
onloadedmetadata
onloadeddata
onwaiting
onplaying
oncanplay
oncanplaythrough
onseeking
onseeked
ontimeout
ontimeupdate
onended
onratechange
ondurationchange
onvolumechange
onaddtrack
oncontrollerchange
oncuechange
onenter
onexit
onencrypted
onwaitingforkey
onkeystatuseschange
onremovetrack
ondataavailable
onwarning
onstart
onstop
onphoto
onactivestatechanged
ongamepadbuttondown
ongamepadbuttonup
ongamepadaxismove
ongamepadconnected
ongamepaddisconnected
onaudiostart
onaudioend
onsoundstart
onsoundend
onspeechstart
onspeechend
onresult
onnomatch
onresume
onmark
onboundary
onsourceopen
onsourceended
onsourceclosed
onupdatestart
onupdate
onupdateend
onaddsourcebuffer
onremovesourcebuffer

View File

@ -0,0 +1,399 @@
ona2dpstatuschanged
onabort
onmozaccesskeynotfound
onactivate
onadapteradded
onadapterremoved
onafterprint
onafterscriptexecute
onalerting
onanimationcancel
onanimationend
onanimationiteration
onanimationstart
onantennaavailablechange
onAppCommand
onappinstalled
onattributechanged
onattributereadreq
onattributewritereq
onaudioprocess
onauxclick
onbeforecopy
onbeforecut
onbeforepaste
onbeforeevicted
onbeforeprint
onbeforescriptexecute
onbeforeunload
onblocked
onblur
onbroadcast
onbusy
onbufferedamountlow
oncached
oncallschanged
oncancel
oncardstatechange
oncfstatechange
onchange
oncharacteristicchanged
onchargingchange
onchargingtimechange
onchecking
onCheckboxStateChange
onclick
onclirmodechange
onclose
oncommand
oncommandupdate
oncomplete
oncompositionend
oncompositionstart
oncompositionupdate
onconnect
onconnected
onconnecting
onconnectionavailable
onconnectionstatechanged
oncontextmenu
oncopy
oncurrentchannelchanged
oncurrentsourcechanged
oncut
ondatachange
ondataerror
ondblclick
ondeleted
ondeliverysuccess
ondeliveryerror
ondevicefound
ondevicepaired
ondeviceunpaired
ondialing
ondisabled
ondischargingtimechange
ondisconnect
ondisconnected
ondisconnecting
ondisplaypasskeyreq
ondownloading
onDOMActivate
onDOMAttrModified
onDOMCharacterDataModified
onDOMFocusIn
onDOMFocusOut
onDOMMouseScroll
onDOMNodeInserted
onDOMNodeInsertedIntoDocument
onDOMNodeRemoved
onDOMNodeRemovedFromDocument
onDOMSubtreeModified
ondata
ondrag
ondragdrop
ondragend
ondragenter
ondragexit
ondraggesture
ondragleave
ondragover
ondragstart
ondrain
ondrop
oneitbroadcasted
onenabled
onenterpincodereq
onemergencycbmodechange
onerror
onevicted
onfailed
onfetch
onfinish
onfocus
onfocusin
onfocusout
onfrequencychange
onfullscreenchange
onfullscreenerror
onspeakerforcedchange
onget
ongroupchange
onhashchange
onheadphoneschange
onheld
onhfpstatuschanged
onhidstatuschanged
onholding
oniccchange
oniccdetected
oniccinfochange
oniccundetected
onincoming
oninput
oninstall
oninvalid
onkeydown
onkeypress
onkeyup
onlanguagechange
onlevelchange
onLoad
onload
onloading
onloadingdone
onloadingerror
onpopstate
only
onmessage
onmessageerror
onmidimessage
onmousedown
onmouseenter
onmouseleave
onmouselongtap
onmousemove
onmouseout
onmouseover
onMozMouseHittest
onmouseup
onMozAfterPaint
onmozfullscreenchange
onmozfullscreenerror
onmozkeydownonplugin
onmozkeyuponplugin
onmozpointerlockchange
onmozpointerlockerror
onMozMousePixelScroll
onMozScrolledAreaChanged
onmapfolderlistingreq
onmapmessageslistingreq
onmapgetmessagereq
onmapsetmessagestatusreq
onmapsendmessagereq
onmapmessageupdatereq
onmute
onnewrdsgroup
onnotificationclick
onnotificationclose
onnoupdate
onobexpasswordreq
onobsolete
ononline
onoffline
onopen
onorientationchange
onotastatuschange
onoverflow
onoverflowchanged
onpagehide
onpageshow
onpaint
onpairingaborted
onpairingconfirmationreq
onpairingconsentreq
onpaste
onpendingchange
onpichange
onpointerlockchange
onpointerlockerror
onpopuphidden
onpopuphiding
onpopuppositioned
onpopupshowing
onpopupshown
onpullphonebookreq
onpullvcardentryreq
onpullvcardlistingreq
onpush
onpushsubscriptionchange
onpschange
onptychange
onradiostatechange
onRadioStateChange
onrdsdisabled
onrdsenabled
onreaderror
onreadsuccess
onready
onreadystatechange
onreceived
onremoteheld
onremoteresumed
onrequestprogress
onresourcetimingbufferfull
onresponseprogress
onretrieving
onRequest
onrequestmediaplaystatus
onreset
onresuming
onresize
onrtchange
onscanningstatechanged
onscostatuschanged
onscroll
onselect
onselectionchange
onselectstart
onsending
onsent
onset
onshippingaddresschange
onshippingoptionchange
onshow
onstatechange
onstatuschanged
onstkcommand
onstksessionend
onstorage
onstorageareachanged
onsubmit
onsuccess
ontypechange
onterminate
ontext
ontoggle
ontouchstart
ontouchend
ontouchmove
ontouchcancel
ontransitioncancel
ontransitionend
ontransitionrun
ontransitionstart
onunderflow
onunload
onunmute
onupdatefound
onupdateready
onupgradeneeded
onussdreceived
onversionchange
onvisibilitychange
onvoicechange
onvoiceschanged
onvrdisplayactivate
onvrdisplayconnect
onvrdisplaydeactivate
onvrdisplaydisconnect
onvrdisplaypresentchange
onwebkitAnimationEnd
onwebkitAnimationIteration
onwebkitAnimationStart
onwebkitTransitionEnd
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onwebsocket
onwheel
onreloadpage
onSVGLoad
onSVGResize
onSVGScroll
onSVGUnload
onSVGZoom
onzoom
onbegin
onbeginEvent
onend
onendEvent
onrepeat
onrepeatEvent
onMozSwipeGestureMayStart
onMozSwipeGestureStart
onMozSwipeGestureUpdate
onMozSwipeGestureEnd
onMozSwipeGesture
onMozMagnifyGestureStart
onMozMagnifyGestureUpdate
onMozMagnifyGesture
onMozRotateGestureStart
onMozRotateGestureUpdate
onMozRotateGesture
onMozTapGesture
onMozPressTapGesture
onMozEdgeUIStarted
onMozEdgeUICanceled
onMozEdgeUICompleted
onpointerdown
onpointermove
onpointerup
onpointercancel
onpointerover
onpointerout
onpointerenter
onpointerleave
ongotpointercapture
onlostpointercapture
ondevicemotion
ondeviceorientation
onabsolutedeviceorientation
ondeviceproximity
onmozorientationchange
onuserproximity
ondevicelight
ondevicechange
onloadend
onloadstart
onprogress
onsuspend
onemptied
onstalled
onplay
onpause
onloadedmetadata
onloadeddata
onwaiting
onplaying
oncanplay
oncanplaythrough
onseeking
onseeked
ontimeout
ontimeupdate
onended
onratechange
ondurationchange
onvolumechange
onaddtrack
oncontrollerchange
oncuechange
onenter
onexit
onencrypted
onwaitingforkey
onkeystatuseschange
onremovetrack
ondataavailable
onwarning
onstart
onstop
onphoto
onactivestatechanged
ongamepadbuttondown
ongamepadbuttonup
ongamepadaxismove
ongamepadconnected
ongamepaddisconnected
onaudiostart
onaudioend
onsoundstart
onsoundend
onspeechstart
onspeechend
onresult
onnomatch
onresume
onmark
onboundary
onsourceopen
onsourceended
onsourceclosed
onupdatestart
onupdate
onupdateend
onaddsourcebuffer
onremovesourcebuffer
onmousewheel

View File

@ -0,0 +1,399 @@
ona2dpstatuschanged
onabort
onmozaccesskeynotfound
onactivate
onadapteradded
onadapterremoved
onafterprint
onafterscriptexecute
onalerting
onanimationcancel
onanimationend
onanimationiteration
onanimationstart
onantennaavailablechange
onAppCommand
onappinstalled
onattributechanged
onattributereadreq
onattributewritereq
onaudioprocess
onauxclick
onbeforecopy
onbeforecut
onbeforepaste
onbeforeevicted
onbeforeprint
onbeforescriptexecute
onbeforeunload
onblocked
onblur
onbroadcast
onbusy
onbufferedamountlow
oncached
oncallschanged
oncancel
oncardstatechange
oncfstatechange
onchange
oncharacteristicchanged
onchargingchange
onchargingtimechange
onchecking
onCheckboxStateChange
onclick
onclirmodechange
onclose
oncommand
oncommandupdate
oncomplete
oncompositionend
oncompositionstart
oncompositionupdate
onconnect
onconnected
onconnecting
onconnectionavailable
onconnectionstatechanged
oncontextmenu
oncopy
oncurrentchannelchanged
oncurrentsourcechanged
oncut
ondatachange
ondataerror
ondblclick
ondeleted
ondeliverysuccess
ondeliveryerror
ondevicefound
ondevicepaired
ondeviceunpaired
ondialing
ondisabled
ondischargingtimechange
ondisconnect
ondisconnected
ondisconnecting
ondisplaypasskeyreq
ondownloading
onDOMActivate
onDOMAttrModified
onDOMCharacterDataModified
onDOMFocusIn
onDOMFocusOut
onDOMMouseScroll
onDOMNodeInserted
onDOMNodeInsertedIntoDocument
onDOMNodeRemoved
onDOMNodeRemovedFromDocument
onDOMSubtreeModified
ondata
ondrag
ondragdrop
ondragend
ondragenter
ondragexit
ondraggesture
ondragleave
ondragover
ondragstart
ondrain
ondrop
oneitbroadcasted
onenabled
onenterpincodereq
onemergencycbmodechange
onerror
onevicted
onfailed
onfetch
onfinish
onfocus
onfocusin
onfocusout
onfrequencychange
onfullscreenchange
onfullscreenerror
onspeakerforcedchange
onget
ongroupchange
onhashchange
onheadphoneschange
onheld
onhfpstatuschanged
onhidstatuschanged
onholding
oniccchange
oniccdetected
oniccinfochange
oniccundetected
onincoming
oninput
oninstall
oninvalid
onkeydown
onkeypress
onkeyup
onlanguagechange
onlevelchange
onLoad
onload
onloading
onloadingdone
onloadingerror
onpopstate
only
onmessage
onmessageerror
onmidimessage
onmousedown
onmouseenter
onmouseleave
onmouselongtap
onmousemove
onmouseout
onmouseover
onMozMouseHittest
onmouseup
onMozAfterPaint
onmozfullscreenchange
onmozfullscreenerror
onmozkeydownonplugin
onmozkeyuponplugin
onmozpointerlockchange
onmozpointerlockerror
onMozMousePixelScroll
onMozScrolledAreaChanged
onmapfolderlistingreq
onmapmessageslistingreq
onmapgetmessagereq
onmapsetmessagestatusreq
onmapsendmessagereq
onmapmessageupdatereq
onmute
onnewrdsgroup
onnotificationclick
onnotificationclose
onnoupdate
onobexpasswordreq
onobsolete
ononline
onoffline
onopen
onorientationchange
onotastatuschange
onoverflow
onoverflowchanged
onpagehide
onpageshow
onpaint
onpairingaborted
onpairingconfirmationreq
onpairingconsentreq
onpaste
onpendingchange
onpichange
onpointerlockchange
onpointerlockerror
onpopuphidden
onpopuphiding
onpopuppositioned
onpopupshowing
onpopupshown
onpullphonebookreq
onpullvcardentryreq
onpullvcardlistingreq
onpush
onpushsubscriptionchange
onpschange
onptychange
onradiostatechange
onRadioStateChange
onrdsdisabled
onrdsenabled
onreaderror
onreadsuccess
onready
onreadystatechange
onreceived
onremoteheld
onremoteresumed
onrequestprogress
onresourcetimingbufferfull
onresponseprogress
onretrieving
onRequest
onrequestmediaplaystatus
onreset
onresuming
onresize
onrtchange
onscanningstatechanged
onscostatuschanged
onscroll
onselect
onselectionchange
onselectstart
onsending
onsent
onset
onshippingaddresschange
onshippingoptionchange
onshow
onstatechange
onstatuschanged
onstkcommand
onstksessionend
onstorage
onstorageareachanged
onsubmit
onsuccess
ontypechange
onterminate
ontext
ontoggle
ontouchstart
ontouchend
ontouchmove
ontouchcancel
ontransitioncancel
ontransitionend
ontransitionrun
ontransitionstart
onunderflow
onunload
onunmute
onupdatefound
onupdateready
onupgradeneeded
onussdreceived
onversionchange
onvisibilitychange
onvoicechange
onvoiceschanged
onvrdisplayactivate
onvrdisplayconnect
onvrdisplaydeactivate
onvrdisplaydisconnect
onvrdisplaypresentchange
onwebkitAnimationEnd
onwebkitAnimationIteration
onwebkitAnimationStart
onwebkitTransitionEnd
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onwebsocket
onwheel
onreloadpage
onSVGLoad
onSVGResize
onSVGScroll
onSVGUnload
onSVGZoom
onzoom
onbegin
onbeginEvent
onend
onendEvent
onrepeat
onrepeatEvent
onMozSwipeGestureMayStart
onMozSwipeGestureStart
onMozSwipeGestureUpdate
onMozSwipeGestureEnd
onMozSwipeGesture
onMozMagnifyGestureStart
onMozMagnifyGestureUpdate
onMozMagnifyGesture
onMozRotateGestureStart
onMozRotateGestureUpdate
onMozRotateGesture
onMozTapGesture
onMozPressTapGesture
onMozEdgeUIStarted
onMozEdgeUICanceled
onMozEdgeUICompleted
onpointerdown
onpointermove
onpointerup
onpointercancel
onpointerover
onpointerout
onpointerenter
onpointerleave
ongotpointercapture
onlostpointercapture
ondevicemotion
ondeviceorientation
onabsolutedeviceorientation
ondeviceproximity
onmozorientationchange
onuserproximity
ondevicelight
ondevicechange
onloadend
onloadstart
onprogress
onsuspend
onemptied
onstalled
onplay
onpause
onloadedmetadata
onloadeddata
onwaiting
onplaying
oncanplay
oncanplaythrough
onseeking
onseeked
ontimeout
ontimeupdate
onended
onratechange
ondurationchange
onvolumechange
onaddtrack
oncontrollerchange
oncuechange
onenter
onexit
onencrypted
onwaitingforkey
onkeystatuseschange
onremovetrack
ondataavailable
onwarning
onstart
onstop
onphoto
onactivestatechanged
ongamepadbuttondown
ongamepadbuttonup
ongamepadaxismove
ongamepadconnected
ongamepaddisconnected
onaudiostart
onaudioend
onsoundstart
onsoundend
onspeechstart
onspeechend
onresult
onnomatch
onresume
onmark
onboundary
onsourceopen
onsourceended
onsourceclosed
onupdatestart
onupdate
onupdateend
onaddsourcebuffer
onremovesourcebuffer
onmousewheel

View File

@ -8,8 +8,7 @@ use File::stat;
use File::Basename;
use List::MoreUtils qw(uniq);
my $HTML5_URL = "https://hg.mozilla.org/mozilla-central/raw-file/tip/parser/html/nsHtml5AtomList.h";
my $GECKO_URL = "https://hg.mozilla.org/mozilla-central/raw-file/tip/xpcom/ds/nsGkAtomList.h";
my $HTML_ATOMS_URL = "https://hg.mozilla.org/mozilla-central/raw-file/tip/xpcom/ds/StaticAtoms.py";
my $HERE = dirname($0);
my $SOURCE_FILE = "$HERE/../src/xss/InjectionChecker.js";
@ -17,6 +16,8 @@ my $SOURCE_FILE = "$HERE/../src/xss/InjectionChecker.js";
sub create_re
{
my $cache = "$HERE/html5_events.re";
my $archive = "$HERE/html5_events_archive.txt";
my $sb = stat($cache);
if ($sb && time() - $sb->mtime < 86400)
@ -26,7 +27,7 @@ sub create_re
close IN;
return $content[0];
}
sub fetch_url
{
my $url = shift(@_);
@ -47,21 +48,35 @@ sub create_re
}
my $content = # fetch_url($HTML5_URL) .
fetch_url($GECKO_URL);
my $content = fetch_url($HTML_ATOMS_URL);
$content = join("\n", grep(/^(?:HTML5|GK)_ATOM.*"on\w+"/, split(/[\n\r]/, $content)));
$content = join("\n", grep(/^\s*Atom\("on\w+"/, split(/[\n\r]/, $content)));
$content =~ s/.*"(on\w+)".*/$1 /g;
$content =~ s/\s+/ /g;
$content =~ s/^\s+|\s+$//g;
open IN, "<$archive";
my @archived = <IN>;
close IN;
$content .= join("\n", @archived);
$content =~ s/\s+/\n/g;
$content =~ s/^\s+|\s+$//g;
my @all_events = grep(!/^only$/, uniq(split("\n", $content)));
open (OUT, ">$archive");
print OUT join("\n", @all_events);
close OUT;
my $l = Regexp::List->new;
my $re = $l->list2re(uniq(split(' ', $content)));
my $re = $l->list2re(@all_events);
$re =~ s/\(\?[-^]\w+:(.*)\)/$1/;
open (OUT, ">$cache");
print OUT $re;
close OUT;
$re;
}

View File

@ -1 +1 @@
on(?:p(?:o(?:inter(?:l(?:ock(?:change|error)|eave)|o(?:ver|ut)|cancel|enter|down|move|up)|p(?:up(?:hid(?:den|ing)|show(?:ing|n)|positioned)|state))|a(?:(?:ymentmethodchang|st|us)e|ge(?:hide|show))|ush(?:subscriptionchange)?|ro(?:cessorerror|gress)|lay(?:ing)?|hoto)|Moz(?:S(?:wipeGesture(?:(?:May)?Start|Update|End)?|crolledAreaChanged)|M(?:agnifyGesture(?:Update|Start)?|ouse(?:PixelScroll|Hittest))|EdgeUI(?:C(?:omplet|ancel)|Start)ed|RotateGesture(?:Update|Start)?|(?:Press)?TapGesture|AfterPaint)|m(?:o(?:z(?:pointerlock(?:change|error)|fullscreen(?:change|error)|key(?:down|up)onplugin|accesskeynotfound|orientationchange)|use(?:l(?:ongtap|eave)|o(?:ver|ut)|enter|wheel|down|move|up))|(?:idimessag|ut)e|essage(?:error)?|ark)|c(?:o(?:m(?:p(?:osition(?:update|start|end)|lete)|mand(?:update)?)|n(?:t(?:rollerchange|extmenu)|nect(?:ionavailable)?)|py)|h(?:(?:arging(?:time)?ch)?ange|ecking)|a(?:n(?:play(?:through)?|cel)|ched)|u(?:echange|t)|l(?:ick|ose))|s(?:ou(?:rce(?:(?:clos|end)ed|open)|nd(?:start|end))|e(?:lect(?:ionchange|start)?|ek(?:ing|ed)|t)|h(?:ipping(?:address|option)change|ow)|t(?:a(?:techange|lled|rt)|o(?:rage|p))|u(?:ccess|spend|bmit)|peech(?:start|end)|croll)|d(?:r(?:a(?:g(?:e(?:n(?:ter|d)|xit)|leave|start|drop|over)?|in)|op)|evice(?:(?:orienta|mo)tion|proximity|change|light)|(?:ischargingtime|uration)change|ata(?:available)?|ownloading|blclick)|a(?:nimation(?:iteration|cancel|start|end)|u(?:dio(?:process|start|end)|xclick)|b(?:solutedeviceorientation|ort)|fter(?:scriptexecute|print)|dd(?:sourcebuffer|track)|ppinstalled|ctivate)|DOM(?:Node(?:Inserted(?:IntoDocument)?|Removed(?:FromDocument)?)|(?:CharacterData|Subtree)Modified|A(?:ttrModified|ctivate)|Focus(?:Out|In)|MouseScroll)|r(?:e(?:s(?:ourcetimingbufferfull|ponseprogress|u(?:lt|me)|ize|et)|move(?:sourcebuffer|track)|adystatechange|pea(?:tEven)?t|questprogress)|atechange)|w(?:ebkit(?:Animation(?:Iteration|Start|End)|animation(?:iteration|start|end)|(?:TransitionE|transitione)nd)|a(?:iting(?:forkey)?|rning)|heel)|b(?:e(?:fore(?:p(?:aste|rint)|scriptexecute|c(?:opy|ut)|unload)|gin(?:Event)?)|ufferedamountlow|oun(?:dary|ce)|l(?:ocked|ur)|roadcast)|v(?:rdisplay(?:(?:presentchang|activat)e|d(?:eactivate|isconnect)|connect)|o(?:iceschanged|lumechange)|(?:isibility|ersion)change)|t(?:o(?:uch(?:cancel|start|move|end)|ggle)|ransition(?:cancel|start|end|run)|ime(?:update|out)|e(?:rminate|xt)|ypechange)|l(?:o(?:ad(?:e(?:d(?:meta)?data|nd)|ing(?:error|done)?|start)?|stpointercapture)|(?:anguage|evel)change|y)|u(?:p(?:date(?:(?:fou|e)nd|ready|start)?|gradeneeded)|n(?:derflow|load|mute)|serproximity)|g(?:amepad(?:(?:dis)?connected|button(?:down|up)|axismove)|otpointercapture|et)|f(?:ullscreen(?:change|error)|ocus(?:out|in)?|(?:inis|etc)h)|o(?:(?:rientationchang|(?:ff|n)lin|bsolet)e|verflow|pen)|e(?:n(?:d(?:Event|ed)?|crypted|ter)|mptied|rror|xit)|no(?:tificationcl(?:ick|ose)|update|match)|SVG(?:(?:Unl|L)oad|Resize|Scroll|Zoom)|key(?:statuseschange|press|down|up)|(?:CheckboxStateC|hashc)hange|R(?:adioStateChange|equest)|in(?:stall|valid|put)|AppCommand|zoom)
on(?:m(?:o(?:z(?:browser(?:beforekey(?:down|up)|afterkey(?:down|up))|(?:network(?:down|up)loa|accesskeynotfoun)d|pointerlock(?:change|error)|(?:orientation|time)change|fullscreen(?:change|error)|interrupt(?:begin|end)|key(?:down|up)onplugin)|use(?:l(?:ongtap|eave)|o(?:ver|ut)|enter|wheel|down|move|up))|a(?:p(?:se(?:tmessagestatus|ndmessage)|message(?:slisting|update)|folderlisting|getmessage)req|rk)|(?:idimessag|ut)e|essage(?:error)?)|p(?:o(?:inter(?:l(?:ock(?:change|error)|eave)|o(?:ver|ut)|cancel|enter|down|move|up)|p(?:up(?:hid(?:den|ing)|show(?:ing|n)|positioned)|state))|a(?:i(?:ring(?:con(?:firmation|sent)req|aborted)|nt)|(?:ymentmethodchang|st|us)e|ge(?:hide|show))|u(?:ll(?:vcard(?:listing|entry)|phonebook)req|sh(?:subscriptionchange)?)|(?:[is]|ending|ty)change|ro(?:cessorerror|gress)|lay(?:ing)?|hoto)|c(?:o(?:n(?:nect(?:i(?:on(?:statechanged|available)|ng)|ed)?|t(?:rollerchange|extmenu))|m(?:p(?:osition(?:update|start|end)|lete)|mand(?:update)?)|py)|h(?:a(?:r(?:ging(?:time)?change|acteristicchanged)|nge)|ecking)|a(?:n(?:play(?:through)?|cel)|(?:llschang|ch)ed|rdstatechange)|u(?:rrent(?:channel|source)changed|echange|t)|l(?:i(?:rmodechange|ck)|ose)|fstatechange)|s(?:t(?:a(?:t(?:uschanged|echange)|lled|rt)|o(?:rage(?:areachanged)?|p)|k(?:sessione|comma)nd)|e(?:lect(?:ionchange|start)?|ek(?:ing|ed)|n(?:ding|t)|t)|ou(?:rce(?:(?:clos|end)ed|open)|nd(?:start|end))|c(?:(?:anningstate|ostatus)changed|roll)|pe(?:akerforcedchange|ech(?:start|end))|h(?:ipping(?:address|option)change|ow)|u(?:ccess|spend|bmit))|d(?:e(?:vice(?:p(?:roximity|aired)|(?:orienta|mo)tion|(?:unpaire|foun)d|change|light)|l(?:ivery(?:success|error)|eted))|i(?:s(?:c(?:hargingtimechange|onnect(?:ing|ed)?)|playpasskeyreq|abled)|aling)|r(?:a(?:g(?:e(?:n(?:ter|d)|xit)|(?:gestur|leav)e|start|drop|over)?|in)|op)|ata(?:(?:availabl|chang)e|error)?|urationchange|ownloading|blclick)|a(?:n(?:imation(?:iteration|cancel|start|end)|tennaavailablechange)|d(?:d(?:sourcebuffer|track)|apter(?:remov|add)ed)|ttribute(?:(?:write|read)req|changed)|u(?:dio(?:process|start|end)|xclick)|b(?:solutedeviceorientation|ort)|(?:2dpstatuschang|ppinstall)ed|fter(?:scriptexecute|print)|ctiv(?:estatechanged|ate)|lerting)|r(?:e(?:s(?:ourcetimingbufferfull|u(?:m(?:ing|e)|lt)|ponseprogress|ize|et)|mo(?:ve(?:sourcebuffer|track)|te(?:resume|hel)d)|ad(?:y(?:statechange)?|success|error)|quest(?:mediaplaystatu|progres)s|pea(?:tEven)?t|loadpage|trieving|ceived)|(?:(?:adiost)?ate|t)change|ds(?:dis|en)abled)|Moz(?:S(?:wipeGesture(?:(?:May)?Start|Update|End)?|crolledAreaChanged)|M(?:agnifyGesture(?:Update|Start)?|ouse(?:PixelScroll|Hittest))|EdgeUI(?:C(?:omplet|ancel)|Start)ed|RotateGesture(?:Update|Start)?|(?:Press)?TapGesture|AfterPaint)|w(?:eb(?:kit(?:Animation(?:Iteration|Start|End)|animation(?:iteration|start|end)|(?:TransitionE|transitione)nd)|socket)|a(?:iting(?:forkey)?|rning)|heel)|DOM(?:Node(?:Inserted(?:IntoDocument)?|Removed(?:FromDocument)?)|(?:CharacterData|Subtree)Modified|A(?:ttrModified|ctivate)|Focus(?:Out|In)|MouseScroll)|b(?:e(?:fore(?:(?:evicte|unloa)d|p(?:aste|rint)|scriptexecute|c(?:opy|ut))|gin(?:Event)?)|u(?:fferedamountlow|sy)|oun(?:dary|ce)|l(?:ocked|ur)|roadcast)|v(?:rdisplay(?:(?:presentchang|activat)e|d(?:eactivate|isconnect)|connect)|o(?:ice(?:schanged|change)|lumechange)|(?:isibility|ersion)change)|e(?:n(?:ter(?:pincodereq)?|(?:crypt|abl)ed|d(?:Event|ed)?)|m(?:ergencycbmodechange|ptied)|(?:itbroadcas|vic)ted|rror|xit)|t(?:o(?:uch(?:cancel|start|move|end)|ggle)|ransition(?:cancel|start|end|run)|ime(?:update|out)|e(?:rminate|xt)|ypechange)|u(?:p(?:date(?:(?:fou|e)nd|ready|start)?|gradeneeded)|s(?:erproximity|sdreceived)|n(?:derflow|load|mute))|l(?:o(?:ad(?:e(?:d(?:meta)?data|nd)|ing(?:error|done)?|start)?|stpointercapture)|(?:anguage|evel)change)|o(?:(?:(?:rientation|tastatus)chang|(?:ff|n)lin)e|b(?:expasswordreq|solete)|verflow(?:changed)?|pen)|g(?:amepad(?:(?:dis)?connected|button(?:down|up)|axismove)|(?:otpointercaptur|roupchang)e|et)|f(?:ullscreen(?:change|error)|ocus(?:out|in)?|requencychange|(?:inis|etc)h|ailed)|i(?:cc(?:(?:info)?change|(?:un)?detected)|n(?:coming|stall|valid|put))|h(?:(?:fp|id)statuschanged|e(?:adphoneschange|ld)|ashchange|olding)|n(?:o(?:tificationcl(?:ick|ose)|update|match)|ewrdsgroup)|SVG(?:(?:Unl|L)oad|Resize|Scroll|Zoom)|key(?:statuseschange|press|down|up)|R(?:adioStateChange|equest)|CheckboxStateChange|(?:AppComman|Loa)d|zoom)

View File

@ -0,0 +1,410 @@
onabort
onmozaccesskeynotfound
onactivate
onafterprint
onafterscriptexecute
onanimationcancel
onanimationend
onanimationiteration
onanimationstart
onAppCommand
onappinstalled
onaudioprocess
onauxclick
onbeforecopy
onbeforecut
onbeforepaste
onbeforeprint
onbeforescriptexecute
onbeforeunload
onblocked
onblur
onbounce
onbroadcast
onbufferedamountlow
oncached
oncancel
onchange
onchargingchange
onchargingtimechange
onchecking
onCheckboxStateChange
onclick
onclose
oncommand
oncommandupdate
oncomplete
oncompositionend
oncompositionstart
oncompositionupdate
onconnect
onconnectionavailable
oncontextmenu
oncopy
oncut
ondblclick
ondischargingtimechange
ondownloading
onDOMActivate
onDOMAttrModified
onDOMCharacterDataModified
onDOMFocusIn
onDOMFocusOut
onDOMMouseScroll
onDOMNodeInserted
onDOMNodeInsertedIntoDocument
onDOMNodeRemoved
onDOMNodeRemovedFromDocument
onDOMSubtreeModified
ondata
ondrag
ondragdrop
ondragend
ondragenter
ondragexit
ondragleave
ondragover
ondragstart
ondrain
ondrop
onerror
onfinish
onfocus
onfocusin
onfocusout
onfullscreenchange
onfullscreenerror
onget
onhashchange
oninput
oninstall
oninvalid
onkeydown
onkeypress
onkeyup
onlanguagechange
onlevelchange
onload
onloading
onloadingdone
onloadingerror
onpopstate
onmessage
onmessageerror
onmidimessage
onmousedown
onmouseenter
onmouseleave
onmouselongtap
onmousemove
onmouseout
onmouseover
onMozMouseHittest
onmouseup
onMozAfterPaint
onmozfullscreenchange
onmozfullscreenerror
onmozkeydownonplugin
onmozkeyuponplugin
onmozpointerlockchange
onmozpointerlockerror
onMozMousePixelScroll
onMozScrolledAreaChanged
onmute
onnotificationclick
onnotificationclose
onnoupdate
onobsolete
ononline
onoffline
onopen
onorientationchange
onoverflow
onpagehide
onpageshow
onpaste
onpaymentmethodchange
onpointerlockchange
onpointerlockerror
onpopuphidden
onpopuphiding
onpopuppositioned
onpopupshowing
onpopupshown
onprocessorerror
onpush
onpushsubscriptionchange
onRadioStateChange
onreadystatechange
onrequestprogress
onresourcetimingbufferfull
onresponseprogress
onRequest
onreset
onresize
onscroll
onselect
onselectionchange
onselectstart
onset
onshippingaddresschange
onshippingoptionchange
onshow
onstatechange
onstorage
onsubmit
onsuccess
ontypechange
onterminate
ontext
ontoggle
ontouchstart
ontouchend
ontouchmove
ontouchcancel
ontransitioncancel
ontransitionend
ontransitionrun
ontransitionstart
onunderflow
onunload
onunmute
onupdatefound
onupdateready
onupgradeneeded
onversionchange
onvisibilitychange
onvoiceschanged
onvrdisplayactivate
onvrdisplayconnect
onvrdisplaydeactivate
onvrdisplaydisconnect
onvrdisplaypresentchange
onwebkitAnimationEnd
onwebkitAnimationIteration
onwebkitAnimationStart
onwebkitTransitionEnd
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onwheel
onSVGLoad
onSVGResize
onSVGScroll
onSVGUnload
onSVGZoom
onzoom
onbegin
onbeginEvent
onend
onendEvent
onrepeat
onrepeatEvent
onMozSwipeGestureMayStart
onMozSwipeGestureStart
onMozSwipeGestureUpdate
onMozSwipeGestureEnd
onMozSwipeGesture
onMozMagnifyGestureStart
onMozMagnifyGestureUpdate
onMozMagnifyGesture
onMozRotateGestureStart
onMozRotateGestureUpdate
onMozRotateGesture
onMozTapGesture
onMozPressTapGesture
onMozEdgeUIStarted
onMozEdgeUICanceled
onMozEdgeUICompleted
onpointerdown
onpointermove
onpointerup
onpointercancel
onpointerover
onpointerout
onpointerenter
onpointerleave
ongotpointercapture
onlostpointercapture
ondevicemotion
ondeviceorientation
onabsolutedeviceorientation
ondeviceproximity
onmozorientationchange
onuserproximity
ondevicelight
ondevicechange
onloadend
onloadstart
onprogress
onsuspend
onemptied
onstalled
onplay
onpause
onloadedmetadata
onloadeddata
onwaiting
onplaying
oncanplay
oncanplaythrough
onseeking
onseeked
ontimeout
ontimeupdate
onended
onratechange
ondurationchange
onvolumechange
onaddtrack
oncontrollerchange
oncuechange
onenter
onexit
onencrypted
onwaitingforkey
onkeystatuseschange
onremovetrack
ondataavailable
onwarning
onstart
onstop
onphoto
ongamepadbuttondown
ongamepadbuttonup
ongamepadaxismove
ongamepadconnected
ongamepaddisconnected
onfetch
onaudiostart
onaudioend
onsoundstart
onsoundend
onspeechstart
onspeechend
onresult
onnomatch
onresume
onmark
onboundary
onsourceopen
onsourceended
onsourceclosed
onupdatestart
onupdate
onupdateend
onaddsourcebuffer
onremovesourcebuffer
ona2dpstatuschanged
onactivestatechanged
onadapteradded
onadapterremoved
onalerting
onantennaavailablechange
onattributechanged
onattributereadreq
onattributewritereq
onbeforeevicted
onbusy
oncallschanged
oncardstatechange
oncfstatechange
oncharacteristicchanged
onclirmodechange
onconnected
onconnecting
onconnectionstatechanged
oncurrentchannelchanged
oncurrentsourcechanged
ondatachange
ondataerror
ondeleted
ondeliveryerror
ondeliverysuccess
ondevicefound
ondevicepaired
ondeviceunpaired
ondialing
ondisabled
ondisconnect
ondisconnected
ondisconnecting
ondisplaypasskeyreq
ondraggesture
oneitbroadcasted
onemergencycbmodechange
onenabled
onenterpincodereq
onevicted
onfailed
onfrequencychange
ongroupchange
onheadphoneschange
onheld
onhfpstatuschanged
onhidstatuschanged
onholding
oniccchange
oniccdetected
oniccinfochange
oniccundetected
onincoming
onLoad
onmapfolderlistingreq
onmapgetmessagereq
onmapmessageslistingreq
onmapmessageupdatereq
onmapsendmessagereq
onmapsetmessagestatusreq
onmousewheel
onmozbrowserafterkeydown
onmozbrowserafterkeyup
onmozbrowserbeforekeydown
onmozbrowserbeforekeyup
onmozinterruptbegin
onmozinterruptend
onmoznetworkdownload
onmoznetworkupload
onmoztimechange
onnewrdsgroup
onobexpasswordreq
onotastatuschange
onoverflowchanged
onpaint
onpairingaborted
onpairingconfirmationreq
onpairingconsentreq
onpendingchange
onpichange
onpschange
onptychange
onpullphonebookreq
onpullvcardentryreq
onpullvcardlistingreq
onradiostatechange
onrdsdisabled
onrdsenabled
onreaderror
onreadsuccess
onready
onreceived
onreloadpage
onremoteheld
onremoteresumed
onrequestmediaplaystatus
onresuming
onretrieving
onrtchange
onscanningstatechanged
onscostatuschanged
onsending
onsent
onspeakerforcedchange
onstatuschanged
onstkcommand
onstksessionend
onstorageareachanged
onussdreceived
onvoicechange
onwebsocket

View File

@ -19,8 +19,8 @@ XSS.InjectionChecker = (async () => {
const IC_EVAL_PATTERN = "\\b(?:" +
fuzzify('eval|import|set(?:Timeout|Interval)|(?:f|F)unction|Script|toString|Worker|document|constructor|generateCRMFRequest|jQuery|fetch|write(?:ln)?|__(?:define(?:S|G)etter|noSuchMethod)__|definePropert(?:y|ies)') +
"|\\$|" + IC_WINDOW_OPENER_PATTERN + ")\\b";
const IC_EVENT_PATTERN = "on(?:p(?:o(?:inter(?:l(?:ock(?:change|error)|eave)|o(?:ver|ut)|cancel|enter|down|move|up)|p(?:up(?:hid(?:den|ing)|show(?:ing|n)|positioned)|state))|a(?:(?:ymentmethodchang|st|us)e|ge(?:hide|show))|ush(?:subscriptionchange)?|ro(?:cessorerror|gress)|lay(?:ing)?|hoto)|Moz(?:S(?:wipeGesture(?:(?:May)?Start|Update|End)?|crolledAreaChanged)|M(?:agnifyGesture(?:Update|Start)?|ouse(?:PixelScroll|Hittest))|EdgeUI(?:C(?:omplet|ancel)|Start)ed|RotateGesture(?:Update|Start)?|(?:Press)?TapGesture|AfterPaint)|m(?:o(?:z(?:pointerlock(?:change|error)|fullscreen(?:change|error)|key(?:down|up)onplugin|accesskeynotfound|orientationchange)|use(?:l(?:ongtap|eave)|o(?:ver|ut)|enter|wheel|down|move|up))|(?:idimessag|ut)e|essage(?:error)?|ark)|c(?:o(?:m(?:p(?:osition(?:update|start|end)|lete)|mand(?:update)?)|n(?:t(?:rollerchange|extmenu)|nect(?:ionavailable)?)|py)|h(?:(?:arging(?:time)?ch)?ange|ecking)|a(?:n(?:play(?:through)?|cel)|ched)|u(?:echange|t)|l(?:ick|ose))|s(?:ou(?:rce(?:(?:clos|end)ed|open)|nd(?:start|end))|e(?:lect(?:ionchange|start)?|ek(?:ing|ed)|t)|h(?:ipping(?:address|option)change|ow)|t(?:a(?:techange|lled|rt)|o(?:rage|p))|u(?:ccess|spend|bmit)|peech(?:start|end)|croll)|d(?:r(?:a(?:g(?:e(?:n(?:ter|d)|xit)|leave|start|drop|over)?|in)|op)|evice(?:(?:orienta|mo)tion|proximity|change|light)|(?:ischargingtime|uration)change|ata(?:available)?|ownloading|blclick)|a(?:nimation(?:iteration|cancel|start|end)|u(?:dio(?:process|start|end)|xclick)|b(?:solutedeviceorientation|ort)|fter(?:scriptexecute|print)|dd(?:sourcebuffer|track)|ppinstalled|ctivate)|DOM(?:Node(?:Inserted(?:IntoDocument)?|Removed(?:FromDocument)?)|(?:CharacterData|Subtree)Modified|A(?:ttrModified|ctivate)|Focus(?:Out|In)|MouseScroll)|r(?:e(?:s(?:ourcetimingbufferfull|ponseprogress|u(?:lt|me)|ize|et)|move(?:sourcebuffer|track)|adystatechange|pea(?:tEven)?t|questprogress)|atechange)|w(?:ebkit(?:Animation(?:Iteration|Start|End)|animation(?:iteration|start|end)|(?:TransitionE|transitione)nd)|a(?:iting(?:forkey)?|rning)|heel)|b(?:e(?:fore(?:p(?:aste|rint)|scriptexecute|c(?:opy|ut)|unload)|gin(?:Event)?)|ufferedamountlow|oun(?:dary|ce)|l(?:ocked|ur)|roadcast)|v(?:rdisplay(?:(?:presentchang|activat)e|d(?:eactivate|isconnect)|connect)|o(?:iceschanged|lumechange)|(?:isibility|ersion)change)|t(?:o(?:uch(?:cancel|start|move|end)|ggle)|ransition(?:cancel|start|end|run)|ime(?:update|out)|e(?:rminate|xt)|ypechange)|l(?:o(?:ad(?:e(?:d(?:meta)?data|nd)|ing(?:error|done)?|start)?|stpointercapture)|(?:anguage|evel)change|y)|u(?:p(?:date(?:(?:fou|e)nd|ready|start)?|gradeneeded)|n(?:derflow|load|mute)|serproximity)|g(?:amepad(?:(?:dis)?connected|button(?:down|up)|axismove)|otpointercapture|et)|f(?:ullscreen(?:change|error)|ocus(?:out|in)?|(?:inis|etc)h)|o(?:(?:rientationchang|(?:ff|n)lin|bsolet)e|verflow|pen)|e(?:n(?:d(?:Event|ed)?|crypted|ter)|mptied|rror|xit)|no(?:tificationcl(?:ick|ose)|update|match)|SVG(?:(?:Unl|L)oad|Resize|Scroll|Zoom)|key(?:statuseschange|press|down|up)|(?:CheckboxStateC|hashc)hange|R(?:adioStateChange|equest)|in(?:stall|valid|put)|AppCommand|zoom)"
// autogenerated from nsGkAtomList.h
const IC_EVENT_PATTERN = "on(?:m(?:o(?:z(?:browser(?:beforekey(?:down|up)|afterkey(?:down|up))|(?:network(?:down|up)loa|accesskeynotfoun)d|pointerlock(?:change|error)|(?:orientation|time)change|fullscreen(?:change|error)|interrupt(?:begin|end)|key(?:down|up)onplugin)|use(?:l(?:ongtap|eave)|o(?:ver|ut)|enter|wheel|down|move|up))|a(?:p(?:se(?:tmessagestatus|ndmessage)|message(?:slisting|update)|folderlisting|getmessage)req|rk)|(?:idimessag|ut)e|essage(?:error)?)|p(?:o(?:inter(?:l(?:ock(?:change|error)|eave)|o(?:ver|ut)|cancel|enter|down|move|up)|p(?:up(?:hid(?:den|ing)|show(?:ing|n)|positioned)|state))|a(?:i(?:ring(?:con(?:firmation|sent)req|aborted)|nt)|(?:ymentmethodchang|st|us)e|ge(?:hide|show))|u(?:ll(?:vcard(?:listing|entry)|phonebook)req|sh(?:subscriptionchange)?)|(?:[is]|ending|ty)change|ro(?:cessorerror|gress)|lay(?:ing)?|hoto)|c(?:o(?:n(?:nect(?:i(?:on(?:statechanged|available)|ng)|ed)?|t(?:rollerchange|extmenu))|m(?:p(?:osition(?:update|start|end)|lete)|mand(?:update)?)|py)|h(?:a(?:r(?:ging(?:time)?change|acteristicchanged)|nge)|ecking)|a(?:n(?:play(?:through)?|cel)|(?:llschang|ch)ed|rdstatechange)|u(?:rrent(?:channel|source)changed|echange|t)|l(?:i(?:rmodechange|ck)|ose)|fstatechange)|s(?:t(?:a(?:t(?:uschanged|echange)|lled|rt)|o(?:rage(?:areachanged)?|p)|k(?:sessione|comma)nd)|e(?:lect(?:ionchange|start)?|ek(?:ing|ed)|n(?:ding|t)|t)|ou(?:rce(?:(?:clos|end)ed|open)|nd(?:start|end))|c(?:(?:anningstate|ostatus)changed|roll)|pe(?:akerforcedchange|ech(?:start|end))|h(?:ipping(?:address|option)change|ow)|u(?:ccess|spend|bmit))|d(?:e(?:vice(?:p(?:roximity|aired)|(?:orienta|mo)tion|(?:unpaire|foun)d|change|light)|l(?:ivery(?:success|error)|eted))|i(?:s(?:c(?:hargingtimechange|onnect(?:ing|ed)?)|playpasskeyreq|abled)|aling)|r(?:a(?:g(?:e(?:n(?:ter|d)|xit)|(?:gestur|leav)e|start|drop|over)?|in)|op)|ata(?:(?:availabl|chang)e|error)?|urationchange|ownloading|blclick)|a(?:n(?:imation(?:iteration|cancel|start|end)|tennaavailablechange)|d(?:d(?:sourcebuffer|track)|apter(?:remov|add)ed)|ttribute(?:(?:write|read)req|changed)|u(?:dio(?:process|start|end)|xclick)|b(?:solutedeviceorientation|ort)|(?:2dpstatuschang|ppinstall)ed|fter(?:scriptexecute|print)|ctiv(?:estatechanged|ate)|lerting)|r(?:e(?:s(?:ourcetimingbufferfull|u(?:m(?:ing|e)|lt)|ponseprogress|ize|et)|mo(?:ve(?:sourcebuffer|track)|te(?:resume|hel)d)|ad(?:y(?:statechange)?|success|error)|quest(?:mediaplaystatu|progres)s|pea(?:tEven)?t|loadpage|trieving|ceived)|(?:(?:adiost)?ate|t)change|ds(?:dis|en)abled)|Moz(?:S(?:wipeGesture(?:(?:May)?Start|Update|End)?|crolledAreaChanged)|M(?:agnifyGesture(?:Update|Start)?|ouse(?:PixelScroll|Hittest))|EdgeUI(?:C(?:omplet|ancel)|Start)ed|RotateGesture(?:Update|Start)?|(?:Press)?TapGesture|AfterPaint)|w(?:eb(?:kit(?:Animation(?:Iteration|Start|End)|animation(?:iteration|start|end)|(?:TransitionE|transitione)nd)|socket)|a(?:iting(?:forkey)?|rning)|heel)|DOM(?:Node(?:Inserted(?:IntoDocument)?|Removed(?:FromDocument)?)|(?:CharacterData|Subtree)Modified|A(?:ttrModified|ctivate)|Focus(?:Out|In)|MouseScroll)|b(?:e(?:fore(?:(?:evicte|unloa)d|p(?:aste|rint)|scriptexecute|c(?:opy|ut))|gin(?:Event)?)|u(?:fferedamountlow|sy)|oun(?:dary|ce)|l(?:ocked|ur)|roadcast)|v(?:rdisplay(?:(?:presentchang|activat)e|d(?:eactivate|isconnect)|connect)|o(?:ice(?:schanged|change)|lumechange)|(?:isibility|ersion)change)|e(?:n(?:ter(?:pincodereq)?|(?:crypt|abl)ed|d(?:Event|ed)?)|m(?:ergencycbmodechange|ptied)|(?:itbroadcas|vic)ted|rror|xit)|t(?:o(?:uch(?:cancel|start|move|end)|ggle)|ransition(?:cancel|start|end|run)|ime(?:update|out)|e(?:rminate|xt)|ypechange)|u(?:p(?:date(?:(?:fou|e)nd|ready|start)?|gradeneeded)|s(?:erproximity|sdreceived)|n(?:derflow|load|mute))|l(?:o(?:ad(?:e(?:d(?:meta)?data|nd)|ing(?:error|done)?|start)?|stpointercapture)|(?:anguage|evel)change)|o(?:(?:(?:rientation|tastatus)chang|(?:ff|n)lin)e|b(?:expasswordreq|solete)|verflow(?:changed)?|pen)|g(?:amepad(?:(?:dis)?connected|button(?:down|up)|axismove)|(?:otpointercaptur|roupchang)e|et)|f(?:ullscreen(?:change|error)|ocus(?:out|in)?|requencychange|(?:inis|etc)h|ailed)|i(?:cc(?:(?:info)?change|(?:un)?detected)|n(?:coming|stall|valid|put))|h(?:(?:fp|id)statuschanged|e(?:adphoneschange|ld)|ashchange|olding)|n(?:o(?:tificationcl(?:ick|ose)|update|match)|ewrdsgroup)|SVG(?:(?:Unl|L)oad|Resize|Scroll|Zoom)|key(?:statuseschange|press|down|up)|R(?:adioStateChange|equest)|CheckboxStateChange|(?:AppComman|Loa)d|zoom)"
// autogenerated from Mozilla's source code, see html5_events/html5_events.pl
;
const IC_EVENT_DOS_PATTERN =
"\\b(?:" + IC_EVENT_PATTERN + ")[^]*=[^]*\\b(?:" + IC_WINDOW_OPENER_PATTERN + ")\\b" +