summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhackademix2018-08-18 11:38:39 +0200
committerhackademix2018-08-18 15:25:03 +0200
commitee48e5c7d987e5a3074b9ef0c78269a83feeefc1 (patch)
treecd7bc627575b7def6edc4e3995b44a39f36efa8e
parent6eee6147eb0c38e323c145bd5629fc84655283c9 (diff)
downloadnoscript-ee48e5c7d987e5a3074b9ef0c78269a83feeefc1.tar.gz
noscript-ee48e5c7d987e5a3074b9ef0c78269a83feeefc1.tar.xz
noscript-ee48e5c7d987e5a3074b9ef0c78269a83feeefc1.zip
[XSS] Updated HTML events matching generation to use both latest Mozilla source code and archived data since Firefox ESR 52.
-rw-r--r--html5_events/archive_gen.sh8
-rw-r--r--html5_events/auto_archive.txt298
-rw-r--r--html5_events/historical/aurora_events.txt392
-rw-r--r--html5_events/historical/beta_events.txt399
-rw-r--r--html5_events/historical/esr52_events.txt391
-rw-r--r--html5_events/historical/esr60_events.txt399
-rw-r--r--html5_events/historical/release_events.txt399
-rw-r--r--html5_events/html5_events.pl33
-rw-r--r--html5_events/html5_events.re2
-rw-r--r--html5_events/html5_events_archive.txt410
-rw-r--r--src/xss/InjectionChecker.js4
11 files changed, 2723 insertions, 12 deletions
diff --git a/html5_events/archive_gen.sh b/html5_events/archive_gen.sh
new file mode 100644
index 0000000..2f34722
--- /dev/null
+++ b/html5_events/archive_gen.sh
@@ -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." \ No newline at end of file
diff --git a/html5_events/auto_archive.txt b/html5_events/auto_archive.txt
new file mode 100644
index 0000000..7739645
--- /dev/null
+++ b/html5_events/auto_archive.txt
@@ -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 \ No newline at end of file
diff --git a/html5_events/historical/aurora_events.txt b/html5_events/historical/aurora_events.txt
new file mode 100644
index 0000000..19dca62
--- /dev/null
+++ b/html5_events/historical/aurora_events.txt
@@ -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
diff --git a/html5_events/historical/beta_events.txt b/html5_events/historical/beta_events.txt
new file mode 100644
index 0000000..7327295
--- /dev/null
+++ b/html5_events/historical/beta_events.txt
@@ -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
diff --git a/html5_events/historical/esr52_events.txt b/html5_events/historical/esr52_events.txt
new file mode 100644
index 0000000..9cfb3fd
--- /dev/null
+++ b/html5_events/historical/esr52_events.txt
@@ -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
diff --git a/html5_events/historical/esr60_events.txt b/html5_events/historical/esr60_events.txt
new file mode 100644
index 0000000..7327295
--- /dev/null
+++ b/html5_events/historical/esr60_events.txt
@@ -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
diff --git a/html5_events/historical/release_events.txt b/html5_events/historical/release_events.txt
new file mode 100644
index 0000000..7327295
--- /dev/null
+++ b/html5_events/historical/release_events.txt
@@ -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
diff --git a/html5_events/html5_events.pl b/html5_events/html5_events.pl
index b2e8bee..8d2b873 100644
--- a/html5_events/html5_events.pl
+++ b/html5_events/html5_events.pl
@@ -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;
}
diff --git a/html5_events/html5_events.re b/html5_events/html5_events.re
index 1cfd261..dc91198 100644
--- a/html5_events/html5_events.re
+++ b/html5_events/html5_events.re
@@ -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) \ No newline at end of file
+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) \ No newline at end of file
diff --git a/html5_events/html5_events_archive.txt b/html5_events/html5_events_archive.txt
new file mode 100644
index 0000000..d638334
--- /dev/null
+++ b/html5_events/html5_events_archive.txt
@@ -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 \ No newline at end of file
diff --git a/src/xss/InjectionChecker.js b/src/xss/InjectionChecker.js
index 93d32d9..c882358 100644
--- a/src/xss/InjectionChecker.js
+++ b/src/xss/InjectionChecker.js
@@ -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" +