From ee48e5c7d987e5a3074b9ef0c78269a83feeefc1 Mon Sep 17 00:00:00 2001 From: hackademix Date: Sat, 18 Aug 2018 11:38:39 +0200 Subject: [XSS] Updated HTML events matching generation to use both latest Mozilla source code and archived data since Firefox ESR 52. --- html5_events/archive_gen.sh | 8 + html5_events/auto_archive.txt | 298 +++++++++++++++++++++ html5_events/historical/aurora_events.txt | 392 +++++++++++++++++++++++++++ html5_events/historical/beta_events.txt | 399 ++++++++++++++++++++++++++++ html5_events/historical/esr52_events.txt | 391 +++++++++++++++++++++++++++ html5_events/historical/esr60_events.txt | 399 ++++++++++++++++++++++++++++ html5_events/historical/release_events.txt | 399 ++++++++++++++++++++++++++++ html5_events/html5_events.pl | 33 ++- html5_events/html5_events.re | 2 +- html5_events/html5_events_archive.txt | 410 +++++++++++++++++++++++++++++ src/xss/InjectionChecker.js | 4 +- 11 files changed, 2723 insertions(+), 12 deletions(-) create mode 100644 html5_events/archive_gen.sh create mode 100644 html5_events/auto_archive.txt create mode 100644 html5_events/historical/aurora_events.txt create mode 100644 html5_events/historical/beta_events.txt create mode 100644 html5_events/historical/esr52_events.txt create mode 100644 html5_events/historical/esr60_events.txt create mode 100644 html5_events/historical/release_events.txt create mode 100644 html5_events/html5_events_archive.txt 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 = ; + 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" + -- cgit v1.2.3