diff --git a/src/js.rs b/src/js.rs index 18ae0de..b2fa07d 100644 --- a/src/js.rs +++ b/src/js.rs @@ -1,29 +1,97 @@ const JS_DOM_EVENT_ATTRS: &[&str] = &[ - // Input - "onfocus", + // From WhatWG HTML spec 8.1.5.2 Event handlers on elements, Document objects, and Window objects: + // https://html.spec.whatwg.org/#event-handlers-on-elements,-document-objects,-and-window-objects + // https://html.spec.whatwg.org/#attributes-3 (table 'List of event handler content attributes') + + // Global handlers + "onabort", + "onauxclick", "onblur", - "onselect", + "oncancel", + "oncanplay", + "oncanplaythrough", "onchange", - "onsubmit", - "onreset", + "onclick", + "onclose", + "oncontextmenu", + "oncuechange", + "ondblclick", + "ondrag", + "ondragend", + "ondragenter", + "ondragexit", + "ondragleave", + "ondragover", + "ondragstart", + "ondrop", + "ondurationchange", + "onemptied", + "onended", + "onerror", + "onfocus", + "onformdata", + "oninput", + "oninvalid", "onkeydown", "onkeypress", "onkeyup", - // Mouse - "onmouseover", - "onmouseout", - "onmousedown", - "onmouseup", - "onmousemove", - // Click - "onclick", - "ondblclick", - // Load "onload", - "onunload", - "onabort", - "onerror", + "onloadeddata", + "onloadedmetadata", + "onloadstart", + "onmousedown", + "onmouseenter", + "onmouseleave", + "onmousemove", + "onmouseout", + "onmouseover", + "onmouseup", + "onwheel", + "onpause", + "onplay", + "onplaying", + "onprogress", + "onratechange", + "onreset", "onresize", + "onscroll", + "onsecuritypolicyviolation", + "onseeked", + "onseeking", + "onselect", + "onslotchange", + "onstalled", + "onsubmit", + "onsuspend", + "ontimeupdate", + "ontoggle", + "onvolumechange", + "onwaiting", + "onwebkitanimationend", + "onwebkitanimationiteration", + "onwebkitanimationstart", + "onwebkittransitionend", + // body and frameset elements + "onafterprint", + "onbeforeprint", + "onbeforeunload", + "onhashchange", + "onlanguagechange", + "onmessage", + "onmessageerror", + "onoffline", + "ononline", + "onpagehide", + "onpageshow", + "onpopstate", + "onrejectionhandled", + "onstorage", + "onunhandledrejection", + "onunload", + // html element + "oncut", + "oncopy", + "onpaste", ]; // Returns true if DOM attribute name matches a native JavaScript event handler